Pregunta

Estoy trabajando en una aplicación Java de video en vivo y me he encontrado con el problema común de NAT Traversal: dos computadoras pueden conectarse entre sí en la red local, pero no cuando están detrás de NATS. He investigado un poco y la opción más fácil de hacer la cabeza es la Biblioteca Jstunt de Cornell.

Sin embargo, parece requerir que use un URI para conectar las computadoras, y realmente no estoy seguro de cómo hacer esto: ¿hay alguna forma de descubrir su propio URI en Java?

Su clase StuntServer parece diseñada para hacer esto, pero tan cerca como puedo hacer ejercicio solo devuelve el socket.getSocketAddress (), que no parece ser lo mismo que un URI.

Cualquier idea sería apreciada.

¿Fue útil?

Solución

Traté de hacer que esta biblioteca funcione pero sin éxito. He estado en contacto con el autor de este proyecto y él me dijo que solo se desarrolló con fines de pruebas e investigación. También me dijo que no estaba listo para la producción y que necesitaría una reelaboración seria.

Para responder tu pregunta:

¿Hay alguna forma de descubrir su propio URI en Java?

El problema se trata de descubrir la dirección IP pública asignada a su dirección IP privada por parte de su NAT. Esto solo es visible de la WAN (es decir, fuera de su LAN). El servidor de acrobacias está ayudando a lograr este objetivo.

NAT Traversal es un tema complejo. Puede encontrar más información al respecto en el capítulo correspondiente del libro práctico de JXTA II disponible en línea para leer en Scribd.

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