Disons que l'adresse IP publique du routeur est 92.1.85.179
L'IP locale de l'ordinateur avec le serveur est 192.168.0.2
Le routeur est configuré pour renvoyer 92,1 .85.179: 5678 à 192.168.0.2:5678Problèmes de connexion à un serveur RMI qui se trouve derrière un routeur
Dans le serveur je:
System.setProperty("java.rmi.server.hostname" , "92.1.85.179");
Registry registry = LocateRegistry.createRegistry(5678);
registry.rebind("TheWebServer" , webServerInt);
le client a:
Registry registry = LocateRegistry.getRegistry("92.1.85.179" , 5678);
server = (WebServerInterface) registry.lookup("TheWebServer");
Lorsque le client est sur le réseau local sur le serveur c'est ok. Lorsque le client est en dehors du réseau local, il obtient java.rmi.ConnectException: Connexion refusée à l'hôte: 192.168.0.2;
Il est évident que le serveur donne au client l'adresse IP de 192.168.0.2 car elle n'apparaît pas dans le code, ce que je pensais que System.setProperty("java.rmi.server.hostname" , "92.1.85.179");
était supposé changer.
Toute contribution serait grandement appréciée.