Метод Socket Send не генерирует исключение, когда удаленный хост закрыл соединение - PullRequest
1 голос
/ 11 июля 2011

Когда я впервые использую Socket.Send (byte [] data), он не выдает исключение, даже если удаленный хост давно закрыл соединение. Выдает исключение только при второй попытке отправить данные.

У меня есть проверка, и метод возвращает правильное количество отправленных байтов. Я также использовал перегрузку, которая принимает параметр SocketError. Содержит SocketError.Success после вызова.

Почему сокет не создает исключение при первом вызове, а только при втором.

1 Ответ

1 голос
/ 11 июля 2011

Операция «Отправить» считается завершенной, когда данные были отправлены в локальный стек TCP / IP . Это не гарантирует, что данные поступили на удаленную сторону.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...