socket servidor recibir hilos enviar crear cliente java tcp serversocket backlog

servidor - sockets en java enviar y recibir



¿Cómo funciona serversocket class para múltiples conexiones de clientes en el mismo puerto? (3)

Cuando se usa una clase Socket, se establece una conexión TCP a un servidor en algún puerto, pero en el servidor, ServerSocket es capaz de manejar múltiples conexiones de cliente para cada solicitud de aceptación y delegarla a un hilo para server la solicitud. Pero, ¿cómo es posible que una clase ServerSocket acepte múltiples conexiones tcp en el mismo puerto?

¿Significa que depende del sistema operativo decidir cuántas conexiones permite o cuál es la acumulación máxima permitida y esto puede ser controlado por las aplicaciones en la parte superior del sistema operativo (me refiero a java restringido por la acumulación máxima soportada por el sistema operativo) y es Hay algún privilegio para las conexiones de retraso en la especificación de TCP?

Mejores recuerdos,
Keshav


El sistema operativo en el que se ejecuta el servidor utiliza el número de puerto remoto para distinguir entre las diversas conexiones al servidor.


Sirve a múltiples clientes y puede elegir cuántos clientes manejará al mismo tiempo.

Una conexión (también conocida como Socket entre un cliente y un servidor) no solo está identificada por ServerIP / ServerPort, sino que está identificada con ClientIP / ClientPort / ServerIP / ServerPort.

Solo debe aceptar conexiones (y generalmente las trata en diferentes hilos).

Por defecto, el tamaño de la cartera de pedidos es 50, pero puede configurarlo cuando cree su ServerSocket .

new ServerSocket(21, 100); //Create a server socket with a backlog of 100

Recursos:


Una conexión TCP está definida por un conjunto único de (IP de origen, puerto de origen, IP de destino, puerto de destino). Como el servidor se une a un puerto en particular, define dos de esas 4 variables. Siempre y cuando los clientes provengan de IP diferentes y / o diferentes puertos, no será un problema.

Y sí, el sistema operativo puede controlar cuántas conexiones totales están permitidas, y su programa puede restringir eso aún más.