Site icon EfmSoft

Что означает код errno 138 (ETIMEDOUT) в Windows?

 
Также может означать:
КонстантаТипОС
ERROR_JOIN_TO_JOINОшибка WindowsWindows
Предыдущий Следующий
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 приложения. Увеличивать тайм-аут имеет смысл только после подтверждения, что операция действительно должна занимать дольше.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version