2012-02-09 41 views
0

我有一個C#中的客戶端 - 服務器系統,我一直通過套接字從客戶端接收數據。我從客戶端收到一組8個數字到服務器,然後再次重複此數據。一旦我收到一組數據,我必須通過一個串行端口將它們全部發送出去,一旦完成就應該處理下一組數據。發送到串行端口需要很多時間,同時,套接字連接已經發送了大量數據。奇怪的是,在第一次循環完成之後,程序掛起,並且什麼都不做,我的意思是程序不再由套接字連接的輸入數據觸發。你能告訴我爲什麼會發生這種情況嗎?如果我需要在兩個獨立的線程上運行Socket Connection &串行端口,我該怎麼做?需要並行運行套接字連接和串行端口連接

謝謝。

+0

我的水晶球今天不工作。你能向我們展示那些不起作用的代碼的相關部分嗎?另外,它在哪條線上掛? – svick 2012-02-09 12:38:47

+0

嗨Svick,我很抱歉,我沒有提早編碼。我真的不知道從哪裏開始。但我現在修好了。但是,無論如何,謝謝。 – Brett 2012-02-10 11:35:29

回答

1

您可以實現,其中一個線程(生產者)從插座接收數據並將其放入一個隊列數據結構的生產者 - 消費者圖案,而另一個線程(消費者)從隊列中取出數據,並寫入發送它到串口。