Propriedade C # Socket.Connected é alterada para false após chamar 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>

Se # 1 for substituído portcpClient.Client.Blocking = false;, tcpClient.Client.Connected tem valor correto (true).

Eu coloqueiSocket.ReceiveTime propriedade para 100 e invocadoSocket.Receive(). Receive() Valor inteiro retornado maior que zero. Nenhuma exceção ocorreu. Depois de fazer meu trabalho com o buffer copiado - não usei nenhum método relacionado ao Socket -, a propriedade Socket.Connected foi alterada para false. Por quê?

questionAnswers(2)

yourAnswerToTheQuestion