Pregunta

Estoy escribiendo un programa de socket binary de pares. Solo hay dos puntos finales. Un socket está escuchando en mi sistema de computadora portátil. El otro socket está transmitiendo desde mi sistema de escritorio. Tengo un tercer programa que se ejecuta en un servidor alojado, que está disponible para negociar la conexión entre los dos. Mi problema es que cuando la computadora portátil y el escritorio están en la misma red, ambos tienen la misma dirección IP de Internet pero diferentes IP de intranet, pero cuando la computadora portátil está en la carretera, las direcciones IP son diferentes. Para ser verdaderamente pares, tengo que escribirlo para que después de establecer la conexión, que las dos computadoras se comuniquen directamente entre sí. ¿Cómo se logra esto generalmente, cuando las dos computadoras podrían compartir la misma dirección IP, si se ejecutan en la misma red?

¿Fue útil?

Solución

Tu pregunta es realmente: ¿Cómo trato con Traducción de Direcciones de Red en un sistema P2P?

Una posibilidad es requerir agujeros reprimidos en los sistemas NAT/Firewall; eso asegurará que las solicitudes a un puerto determinado se envíen a una computadora determinada. Permitir múltiples clientes dentro de la red requeriría hacer múltiples agujeros y configurar cada cliente con el puerto correspondiente.

Otra posibilidad que involucra UDP es aquí-No lo he revisado lo suficiente como para saber si realmente elimina al corredor de la ecuación después de un apretón de manos.

Como siempre, Google puede ser tu amigo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top