¿Qué significa el código errno 106 (EISCONN) en Linux?

 
También puede significar:
ConstanteTipoSO
ERROR_SEM_USER_LIMITError de WindowsWindows
EQFULLerrnomacOS
ELASTerrnomacOS
ECONNABORTEDerrnoWindows
LPC_INITIALIZATION_FAILEDCódigo BSODWindows
Anterior Siguiente
ECANCELED EQFULL

EISCONN

Qué significa EISCONN

EISCONN es un error de máquina de estados. El socket ya tiene un peer, pero el programa vuelve a ejecutar connect() o usa una variante de envío como si todavía tuviera que indicar un destino.

En un stream, el establecimiento debe ocurrir una sola vez durante la vida del socket. Después de completar un connect() no bloqueante, la lógica debe salir de «connecting» y usar el peer ya establecido. El comportamiento de pasar una dirección extra a operaciones de envío puede variar entre sistemas, por lo que no conviene depender de que sea ignorada.

Qué comprobar

  • Asegura que un único componente controla la transición de estado de la conexión.
  • Después del evento de escritura de un connect(), lee SO_ERROR y cambia el estado de forma atómica.
  • Para conectar con otro endpoint remoto, crea un socket nuevo en vez de reutilizar un stream ya establecido.
  • Revisa reintentos y callbacks duplicados que puedan lanzar connect() más de una vez.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.