我想實現一個tcp客戶端偵聽函數。這意味着在與服務器建立連接之後,這個tcp客戶端就坐在那裏等待新的數據到達。 這是我的代碼,但運行時,它抱怨無法讀取網絡流中的任何內容。但服務器尚未開始發送數據。我猜是抱怨是因爲tcp客戶端的超時時間爲 。tcpclient偵聽實現
這是正確的做法嗎?
public void listen(dataHandler processDataFuc)
{
NetworkStream stream;
Byte[] data_buffer = new Byte[MAX_PACKET_SIZE];
if(!this.Connected)
{
this.Connect();
}
while (!this.terminate_listening)
{
stream = main_client.GetStream();
while (stream.Read(data_buffer, 0, data_buffer.Length) > 0)
{
processDataFuc(data_buffer);
}
}
}
感謝
它是開源的,但在GPL下。因此,如果沒有與開發人員達成協議,您不能將此庫用於封閉源代碼軟件。 – 2012-06-14 08:39:15