【发布时间】:2016-12-24 21:38:09
【问题描述】:
我创建了一个 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 分钟内没有数据,我想关闭流。我怎样才能做到这一点?我曾尝试使用计时器来创建线程以在一段时间后调用 stream.close() ,但在接收任何数据之前没有任何效果。提前致谢!
【问题讨论】:
-
你试过stream.ReadTimeOut = 600000;
-
谢谢!这正是我所需要的,我可以将您的答案标记为解决方案吗?我知道这很容易,但我只是错过了它,你真的帮助了我! @active92
-
sure.great 能够提供帮助。谢谢。
标签: c# sockets networking tcp stream