Socket.BeginSend показать ошибку отправки через 1 минуту - PullRequest
0 голосов
/ 16 февраля 2019

Я использую класс 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);
            }

        }
...