【问题标题】:c# exit NetworkStream.read()c# 退出 NetworkStream.read()
【发布时间】: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


【解决方案1】:

尝试使用:

stream.ReadTimeOut = 600000; 

以毫秒为单位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多