Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TcpListener: How can I detect a client disconnect?

How can I detect when a client disconnects from the TcpListener ?

Each of my clients is handled in a separate thread.

like image 370
Cristian Toma Avatar asked Jul 29 '09 18:07

Cristian Toma


1 Answers

Look at NetworkStream.Read, or depending on what you are using in your code maybe TCPClient.GetStream is more appropriate, but basically the same answer.

From the docs:

This method reads data into the buffer parameter and returns the number of bytes successfully read. If no data is available for reading, the Read method returns 0. The Read operation reads as much data as is available, up to the number of bytes specified by the size parameter. If the remote host shuts down the connection, and all available data has been received, the Read method completes immediately and return zero bytes.

like image 92
curtisk Avatar answered Sep 18 '22 05:09

curtisk