NetworkStream Read()需要5秒钟

时间:2015-01-19 17:29:30

标签: c# networkstream

我实现了NetworkStream来读取和发送数据。有时我的Read()命令大约需要5秒钟。数据量很小,< 100个字节。 这就像是在没有数据的情况下尝试阅读的东西。这5秒后没有收到任何数据(receivedLength = 0)。 read命令中是否有内置超时?我没有使用NetworkStream.ReceiveTimeout,因为它会关闭连接。

问题似乎只出现在某些计算机上。

while (ReceiveStream.DataAvailable)
{
    // Receive
    lock (MessageBuffer)
    {
        int remainingLength = MessageBuffer.Length - MessageBufferUsedLength;

        try
        {
            int receivedLength = ReceiveStream.Read(MessageBuffer, MessageBufferUsedLength, remainingLength);
        }
        catch(Exception e)
        {
        }

    }
}
...

0 个答案:

没有答案