我创建了一个TCP侦听器来从端口接收数据。我创建了一个NetworkStream来读取即将到来的数据。
NetworkStream stream = new NetworkStream(TCPSocket);
Byte[] bytes = new Byte[128];
int i;
while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
{
string msg = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
Console.WriteLine("received: {0}", msg);
}
我想要做的是,如果10分钟内没有数据,我想关闭流。我怎样才能做到这一点?我曾尝试使用timer来创建一个线程,以便在一段时间之后调用stream.close(),但在接收任何数据之前没有任何工作。提前谢谢!
答案 0 :(得分:2)
尝试使用:
stream.ReadTimeOut = 600000;
以毫秒为单位。