| Предыдущий | Следующий |
| 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 не заметила предыдущий успешный переход.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.