Я использую класс Socket (async) для клиентского приложения.
мой сервер аппаратный, но я использую hercules (программное обеспечение tcp / udp сервера / клиента-провайдера) для тестирования.
когда я закрываю порт сервера с помощью hercules (или аналогичного приложения) моего клиентского приложенияобратите внимание быстро, но когда я отсоединяю сетевой кабель, происходит отключение (клиент) через 1 или 2 минуты.
public static void Send(Socket client, String data)
{
try
{
byte[] byteData = Encoding.ASCII.GetBytes(data);
client.BeginSend(byteData, 0, byteData.Length, SocketFlags.None,
new AsyncCallback(SendCallback), client);
}
catch (Exception)
{
Disconnect(client);
}
}