我正在尝试实现一个 tcp 客户端监听功能。这意味着在与服务器建立连接后,这个 tcp 客户端只是坐在那里等待新数据的到达。这是我的代码,但是当它运行时,它抱怨无法从网络流中读取任何内容。但是服务器还没有开始发送数据。我猜抱怨是因为 tcp 客户端超时。
这是正确的方法吗?
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);
}
}
}
谢谢