问题
How can I detect when a client disconnects from the TcpListener ?
Each of my clients is handled in a separate thread.
回答1:
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.
来源:https://stackoverflow.com/questions/1202154/tcplistener-how-can-i-detect-a-client-disconnect