Как вы можете проверить, подключен ли сетевой сокет (System.Net.Sockets.Socket), если другой хост не отправляет вам пакет, когда он отключается (например, потому что он отключился изящно)?
Использование Socket.Connected Property.
Socket.Connected