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