socket servidor library cliente c++ tcp sockets

servidor - socket udp c++



socket listen backlog parameter, cómo determinar este valor? (4)

¿Cómo debo determinar qué usar para el parámetro de backlog de un socket que escucha? ¿Es un problema simplemente especificar un número muy grande?


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


De los docs :

Un valor para la acumulación de SOMAXCONN es una constante especial que instruye al proveedor de servicios subyacente responsable de los sockets a establecer la longitud de la cola de conexiones pendientes a un valor razonable máximo.



Utilizo SOMAXCONN como segundo, a menos que tenga una razón específica para usar 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 acumulado 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.