TcpListener: Como posso detectar uma desconexão cliente?
-
05-07-2019 - |
Pergunta
Como posso detectar quando um cliente se desconecta da TcpListener?
Cada um dos meus clientes é tratado em um segmento separado.
Solução
NetworkStream.Read , ou dependendo do que você está usando em seu código talvez TCPClient.GetStream é mais apropriado, mas basicamente a mesma resposta.
De docs:
Este método lê os dados no buffer parâmetro e retorna o número de bytes lido com sucesso. Se não houver dados disponível para leitura, o método de leitura retorna 0. operação A Leitura Lê como máximo de dados está disponível, até o número de bytes determinado pela dimensão parâmetro. Se os fecha host remoto para baixo a conexão, e todos disponíveis os dados foram recebidos, o Leia concluída método imediatamente e retornar zero bytes.