| Предыдущий | Следующий |
| ETIME | ETXTBSY |
ETIMEDOUT
Что означает ETIMEDOUT
ETIMEDOUT — Операция не завершилась до установленного срока. Один и тот же errno может отражать разные уровни ожидания, поэтому само увеличение timeout редко объясняет причину.
Что проверить
- Запишите конкретный системный вызов, socket state, адрес peer и фактическую длительность ожидания.
- Разделите connect timeout, ожидание чтения/записи и прикладной deadline; для Winsock также сохраните исходный WSA error до преобразования в errno.
- При overlapped/asynchronous I/O проверяйте окончательный completion result, а не только результат стартового вызова.
Как подтвердить исправление
Устраняйте причину на соответствующем уровне: маршрут/firewall/peer для connect, зависший протокол для receive, либо неверно выбранный deadline приложения. Увеличивать тайм-аут имеет смысл только после подтверждения, что операция действительно должна занимать дольше.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
