saber que puertos puerto poner habilitar especifico escucha conectar como abrir c sockets networking tcp

puertos - ¿Las conexiones TCP se mueven a otro puerto después de que se abren?



poner un puerto en escucha en windows (3)

Esta pregunta ya tiene una respuesta aquí:

Si un servidor de socket TCP escucha en el puerto 28081 las conexiones entrantes y luego acepta una conexión y comienza a recibir datos. ¿El puerto en el que están entrando los datos sigue siendo 28081 o cambia el puerto?

por ejemplo, ¿a qué puerto llegan los datos entrantes en el pseudo código siguiente? ¿Sigue siendo 28081 o el sistema operativo asigna un nuevo puerto ?:

bind listen (on port 28081) while 1 fd = accept fork if child process incoming data


Puede haber más de un cliente que se conecta a un puerto, ya que la conexión está identificada tanto por el servidor como por la dirección IP del cliente y el puerto. Por lo tanto, aceptar la conexión de un cliente no impide que otros se conecten. Incluso podría conectar otra vez desde el mismo cliente (utilizando otro puerto de cliente).


Sí, permanece en ese puerto, aunque algunos protocolos (FTP) pueden abrir una segunda conexión en otro puerto. No piense en un puerto como un camino físico o enchufe, como un puerto USB que solo puede tener una cosa conectada. Pero mejor piense en ello como un identificador para el servicio que se solicita.

A menudo, sin embargo, la nueva conexión de socket pasa a otro hilo que maneja las lecturas / escrituras para esa conexión específica.


Una conexión TCP está identificada de forma exclusiva por dos tuplas ( (IP address, TCP port) (una para cada punto final). Entonces, por definición, uno no puede mover un puerto o una dirección IP de una conexión sino simplemente abrir uno diferente.

Si el servidor se une al puerto 28081, todas las conexiones aceptadas tendrán este puerto en el lado del servidor (aunque lo más probable es que tengan diferentes números de puerto en el lado del cliente).

Por ejemplo, si dos procesos de la misma máquina cliente se conectarán al mismo servidor, la IP address y TCP port del lado del servidor serán los mismos para ambas conexiones. Sin embargo, en el lado del cliente, tendrán dos números de puerto diferentes que permitirán que el sistema operativo en ambos lados identifique de forma exclusiva a qué proceso y qué descriptor de archivo deben asignarse los paquetes TCP recibidos.