TcpListener: Wie kann ich einen Client trennen erkennen?
-
05-07-2019 - |
Frage
Wie kann ich erkennen, wenn ein Client von der TcpListener trennt?
Jeder meiner Kunden in einem separaten Thread behandelt wird.
Lösung
Lesen Sie NetworkStream.Read , oder je nachdem, was Sie in Ihrem Code verwenden TCPClient.GetStream ist besser geeignet, aber im Grunde die gleiche Antwort.
Aus der Dokumentation:
Diese Methode liest Daten in den Puffer Parameter und gibt die Anzahl der Bytes erfolgreich gelesen. Wenn keine Daten die Read-Methode für das Lesen, 0 zurück Der Lesevorgang lautet wie viele Daten wie verfügbar ist, bis zu dem Anzahl von Bytes durch die Größe angegebenen Parameter. Wenn die Remote-Host Shuts auf der Verbindung, und alle verfügbaren Daten empfangen wurden, das Lesen Verfahren abgeschlossen ist sofort und Rückkehr Null-Bytes.