| Предыдущий | Следующий |
| WSANOTINITIALISED | WSAENOMORE |
WSAEDISCON
WSAEDISCON не является тем же, что аварийный сброс. Он возвращается WSARecv или WSARecvFrom и указывает, что удалённая сторона инициировала корректную последовательность завершения работы. Для сокетов, ориентированных на сообщения, где сообщение нулевой длины может быть допустимыми данными, эта ошибка однозначно обозначает завершение сеанса.
Как это интерпретировать
Корректное завершение сообщает приложению, что узел закончил передачу согласно протоколу. Это не доказывает успешное завершение всех запросов более высокого уровня. Следующий шаг зависит от протокола приложения: обработайте уже доставленные данные протокола, завершите собственный ответ, если это допускается, и закройте сокет либо переведите его в другое состояние согласно документированной последовательности завершения.
Полезные диагностические данные
- Запишите тип сокета, последнее полностью полученное сообщение протокола и ожидаемость завершения со стороны узла.
- Отличайте её от
WSAECONNRESET, который указывает на аварийное закрытие. - После обнаружения условия завершения сеанса не продолжайте ожидать обычные входящие данные приложения.
Microsoft: WSARecv · Microsoft: установление и завершение соединения · The Open Group: семантика shutdown
Нужно найти другой код? Найти другой код состояния или ошибки.
