C # Socket.Connected свойство изменяется на false после вызова Socket.Receive

<code>int readCount;
byte[] buffer = new byte[128];
SocketError socketError;

TcpClient tcpClient = tcpListener.AcceptTcpClient();
tcpClient.Client.ReceiveTimeout = 500; // #1
// tcpClient.Client.Connected is **true** here.
readCount = tcpClient.Client.Receive(buffer, 0, buffer.Length, SocketFlags.None, out socketError); // reacCount > 0
// tcpClient.Client.Connected is **false** here.
</code>

Если № 1 заменен наtcpClient.Client.Blocking = false;, tcpClient.Client.Connected имеет правильное значение (true).

Я установилSocket.ReceiveTime свойство до 100 и вызываетсяSocket.Receive(). Receive() возвращаемое целое значение больше нуля. Никаких исключений не произошло. После того, как я выполнил свою работу с скопированным буфером (я не использовал ни один из методов, связанных с Socket), свойство Socket.Connected было изменено на false. Зачем?

Ответы на вопрос(2)

Ваш ответ на вопрос