1
Как вы правильно определяете, что соединение было закрыто клиентом? Я пробовал тест отправки.Обнаружение закрытого гнездового соединения C#
byte[] tmp = new byte[1];
bool blockingState = true;
if (_socket != null)
{
blockingState = _socket.Blocking;
_socket.Blocking = false;
_socket.Send(tmp, 0, 0);
}