| Предыдущий | Следующий |
| WSAENOTCONN | WSAETOOMANYREFS |
WSAESHUTDOWN
WSAESHUTDOWN означает, что программа попыталась отправить или принять данные в направлении, уже отключённом функцией shutdown.
Направление имеет значение
После shutdown с SD_RECEIVE или SD_BOTHприём больше недопустим. После SD_SEND или SD_BOTHотправка больше недопустима. Полузакрытие является намеренным переходом состояния, а не разрешением продолжать обычный двунаправленный ввод-вывод.
Что проверить
- Отслеживайте направление shutdown в объекте соединения.
- Не допускайте выполнения поставленных в очередь операций отправки или приёма после закрытия соответствующего направления.
- Закройте сокет после завершения протоколом оставшейся половины обмена.
Microsoft: shutdown · Microsoft: recv
Контрольная проверка
Для Winsock зафиксируйте socket state, локальный и удалённый endpoint и API, который вернул условие «WSAESHUTDOWN означает, что программа попыталась отправить или принять данные в направлении, уже отключённом функцией shutdown ». Повторите только эту операцию на новом socket с теми же адресами; не смешивайте ошибку состояния соединения с последующим close/shutdown.
Нужно найти другой код? Найти другой код состояния или ошибки.