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

 
Также может означать:
КонстантаТипОС
ERROR_NO_MORE_SEARCH_HANDLESОшибка WindowsWindows
EHOSTUNREACHerrnoLinux
SESSION5_INITIALIZATION_FAILEDКод BSODWindows
Предыдущий Следующий
EHOSTUNREACH EALREADY

EISCONN

Что означает EISCONN

EISCONN означает, что socket уже находится в connected state, а вызывающий код выполняет операцию, которая ожидает несоединённый socket. В Windows это особенно важно различать для TCP и для UDP socket с заданным default peer.

Что проверить

  • Сохраните socket lifetime и все успешные/неуспешные вызовы connect.
  • Проверьте, не запускают ли два потока connection setup для одного descriptor.
  • Для UDP учитывайте, что connect задаёт peer и фильтрует входящие datagrams, хотя физического handshake нет.

Как исправить

Используйте уже установленное соединение либо закройте и создайте новый socket, если требуется другой peer. Не вызывайте connect повторно только потому, что higher-level state machine не заметила предыдущий успешный переход.

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


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