NetworkStream Read() занимает 5 секунд
У меня есть реализация NetworkStream
читать и отправлять данные. Иногда мой Read()
Команда занимает около 5 секунд. Объем данных небольшой, < 100 байт. Как будто он пытается что-то прочитать, когда нет данных. По истечении этих 5 секунд данные не принимаются (receiveLength=0). Есть ли встроенный тайм-аут в команде чтения? Я не пользуюсь NetworkStream.ReceiveTimeout
так как это закроет связь.
Проблема только появляется на некоторых компьютерах.
while (ReceiveStream.DataAvailable)
{
// Receive
lock (MessageBuffer)
{
int remainingLength = MessageBuffer.Length - MessageBufferUsedLength;
try
{
int receivedLength = ReceiveStream.Read(MessageBuffer, MessageBufferUsedLength, remainingLength);
}
catch(Exception e)
{
}
}
}
...