PDA

Ver la Versión Completa : "enlazar" dos conexiones TCP


maro
27-02-2008, 10:07:59
Buenos Días,

¿Habría alguna forma de "enlazar" dos conexiones TCP Clientes?

Me explico:
Partiendo de un servidor TCP que recibe conexiones de varios clientes TCP,
en un determinado momento, una de esas conexiones cliente, necesita conectar con otra conexion cliente, para enviarle un fichero (por ejemplo).
¿Sería posible que el servidor TCP enlazara estas dos conexiones clientes sin que el servidor tenga que gestionar dichas conexiones? Es decir, que ambos clientes realicen una conexión directa sin que el servidor tenga que soportar el tráfico de esta conexión.

El no hacerlo directamente es para no tener que configurar los puertos en los router en los clientes.

Gracias.
Un Saludo.

Crandel
27-02-2008, 13:48:10
... Es decir, que ambos clientes realicen una conexión directa sin que el servidor tenga que soportar el tráfico de esta conexión.


hasta donde se, no hay forma de realizar una conexion directa entre dos maquinas detras de un router sin modificar la configuracion de alguno.

courtois
28-02-2008, 22:38:26
si es posible realizar dicha conexion, el chiste es que el cliente inicie la conexion hacia el servidor, y no el cliente hacia el otro cliente, el firewall del router bloqueará el intento de conexion entrante de cliente a cliente, mas no el saliente, de cliente a servidor (comunmente, hay excepciones) esa es la forma en que trabaja, por ejemplo, el messenger

maro
29-02-2008, 11:38:28
Gracias courtois,

Cuando he pesnado en hacer esto, tenía como modelo, precisamente, la estructura del messenger.

entonces: tecnicamente, ¿existe esta posibilidad de "enlazar" dos conexiones clientes una vez conectadas al servidor?

¿Sabes si es posible hacerlo con Indy?

Muchas gracias.

Un Saludo.

cHackAll
29-02-2008, 15:45:43
Hablabamos de ello con un amigo, él me decía: Eso es NAT!

NAT (http://es.wikipedia.org/wiki/Network_Address_Translation)

Sin embargo eso se puede hacer de la forma en que tu imaginación lo consiga concebir. Se me ocurre que puedes obtener la IP de los hosts que se conectan al Servidor... y utilizar la misma enviandola a los otros hosts para que los mismos realicen una conexion directa. Tambien puedes ser un puente, si es una LAN esto es util para moderar conversaciones. El paquete enviado lo reenvias al destino correcto.