2008-09-22 13 views

Respuesta

1

Desde el docs:

un valor para la acumulación de SOMAXCONN es una constante especial que da instrucciones al proveedor de servicios subyacente responsable de la toma de s para ajustar la longitud de la cola de espera de las conexiones a un valor máximo razonable .

+41

Terrible answer. ¿Cuáles son esos "valores razonables"? – Nyerguds

+6

Tengo que estar de acuerdo, esto no responde la pregunta en absoluto. – spuriousdata

+0

¿Por qué se aceptó esta seudo respuesta? –

31

Hay una respuesta muy larga a esto en el Winsock Programmer's FAQ. Detalla la configuración estándar y la función de registro dinámico agregado en una revisión a NT 4.0.

+1

Fantástica respuesta en esa pregunta frecuente; gracias por compartir. Recomendado. –

+0

Eso realmente me ayudó. Gracias. – Nyerguds

4

Utilizo SOMAXCONN por segunda vez, a menos que tenga un motivo específico para utilizar una cola corta.

Tenga en cuenta que si no hay espacio en la cola para una nueva conexión, no se enviará ningún RST, lo que permite que el cliente continúe intentando conectarse retransmitiendo SYN.

Además, el argumento de retraso puede tener diferentes significados en diferentes implementaciones de socket.

  • En la mayoría significa el tamaño de la cola de conexión semiabierta, en algunos significa el tamaño de la cola de conexión completa.
  • En muchas implementaciones, el argumento de retraso acumulado se multiplicará para producir una longitud de cola diferente.
  • Si se especifica un valor que es demasiado grande, todas las implementaciones truncarán silenciosamente el valor a la longitud máxima de cola de todos modos.
-2

Como advertencia para cualquiera que utilice boost asio, el valor de SOMAXCONN se usa como 5 con boost.

+0

¿Podría impulsar consultar el sistema operativo para este valor? Las preguntas frecuentes vinculadas en otra respuesta sugieren que 5 es el máximo real en al menos algunos sistemas operativos. –

+0

@romkyns En al menos algunas versiones de Windows que existían alrededor de 1992. – EJP

Cuestiones relacionadas