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);
}
}
}
ありがとう