Saltar al contenido
uencoder

SO_REUSEADDR

SO_REUSEADDR permite que un socket se vincule a una dirección atascada en TIME_WAIT, dejando que un servidor reiniciado recupere su puerto de inmediato.

Propósito

Evita "Address already in use" al reiniciar el servidor, permitiendo la revinculación inmediata de un puerto recién cerrado.

Mecanismo

Una vez activado, bind() acepta direcciones locales cuyas conexiones siguen en TIME_WAIT. TIME_WAIT dura 2MSL (unos 60-120 s), que de otro modo habría que esperar. Nótese la distinción con SO_REUSEPORT.

Casos de uso

  • Reinicios rápidos de servidores
  • Reutilización de puertos
  • Desarrollo y depuración

Herramientas relacionadas

References