Domanda

Come posso rilevare quando un client si disconnette da TcpListener?

Ciascuno dei miei clienti è gestito in un thread separato.

È stato utile?

Soluzione

Guarda NetworkStream.Read o in base a cosa stai usando nel tuo codice, forse TCPClient.GetStream è più appropriato, ma sostanzialmente la stessa risposta.

Dai documenti:

  

Questo metodo legge i dati nel buffer   parametro e restituisce il numero di   byte letti correttamente. Se non ci sono dati   disponibile per la lettura, il metodo Leggi   restituisce 0. L'operazione Leggi legge come   molti dati disponibili, fino al   numero di byte specificato dalla dimensione   parametro. Se l'host remoto viene chiuso   giù la connessione e tutti disponibili   i dati sono stati ricevuti, la lettura   il metodo si completa immediatamente e   restituisce zero byte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top