Question

Je travaille sur une application Java vidéo en direct et j'ai rencontré le problème courant de la traversée NAT: deux ordinateurs peuvent se connecter l'un à l'autre sur un réseau local, mais pas lorsqu'ils sont derrière des NAT. J'ai fait quelques recherches et l'option la plus simple pour me faire la tête est le Bibliothèque JSTUNT de Cornell .

Cependant, il semble que vous deviez utiliser un URI pour connecter les ordinateurs entre eux, et je ne sais vraiment pas comment faire - y a-t-il un moyen de découvrir votre propre URI en Java?

Leur classe STUNTServer semble conçue pour faire cela, mais aussi près que je puisse le faire, ne renvoie que socket.getSocketAddress () - qui ne semble pas être la même chose qu'un URI.

Toute analyse serait appréciée.

Était-ce utile?

La solution

J'ai essayé de faire fonctionner cette bibliothèque, mais sans succès.J'ai été en contact avec l'auteur de ce projet et il m'a dit qu'il n'avait été développé qu'à des fins de test et de recherche.Il m'a également dit que la production n'était pas prête et nécessiterait de sérieuses retouches.

Pour répondre à votre question:

Y a-t-il un moyen de découvrir votre propre URI en Java?

Le problème consiste à découvrir l'adresse IP publique mappée à votre adresse IP privée par votre NAT.Ceci n'est visible que depuis le WAN (c'est-à-dire en dehors de votre LAN).Le serveur de cascades aide en effet à atteindre cet objectif.

La traversée NAT est un sujet complexe.Vous pouvez trouver plus d'informations à ce sujet dans le chapitre correspondant du livre Practical JXTA II disponible en ligne pour lecture sur Scribd.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top