В настоящее время я поддерживаю некоторое программное обеспечение веб-сервера, и мне нужно выполнить много операций ввода-вывода. Вызовы read(), write(), close() и shutdown(), когда они используются в сокете, иногда могут вызывать ошибку ENOTCONN. Что именно означает эта ошибка? Каковы условия, которые могут вызвать это? Я никогда не могу воспроизвести его локально, но есть пользователи, которые могут.
Прямо сейчас я просто игнорирую ENOTCONN, когда поднимается на close() и shutdown(), потому что это кажется безобидным, но я не совсем уверен.
EDIT:
- Я абсолютно уверен, что вызов
connect()преуспел. Я проверяю его возвращаемое значение. -
ENOTCONNчаще всего выражаетсяclose()иshutdown(). Я очень редко виделread()иwrite()повышениеENOTCONN.