TcpListener: Comment détecter une déconnexion client?
-
05-07-2019 - |
Question
Comment détecter un client déconnecté de TcpListener?
Chacun de mes clients est traité dans un thread séparé.
La solution
Regardez NetworkStream.Read ou selon ce que vous utilisez dans votre code, peut-être TCPClient.GetStream est plus approprié, mais correspond fondamentalement à la même réponse.
À partir de la documentation:
Cette méthode lit les données dans le tampon. paramètre et renvoie le nombre de octets lus avec succès. Si aucune donnée n'est disponible pour la lecture, la méthode de lecture renvoie 0. L'opération de lecture se lit comme autant de données disponibles, jusqu'à la nombre d'octets spécifié par la taille paramètre. Si l'hôte distant est fermé la connexion, et tous disponibles les données ont été reçues, le Read la méthode se termine immédiatement et renvoyer zéro octet.