Bonjour,
Je developpe une appli client/serveur avec des RMI et je rencontre un problème lorsque j'essaye de faire des test.
- En réseau local, pas de problème, l'appli tourne bien
- Via internet, le client rencontre une erreur:
java.rmi.ConnectException: Connection refused to host xxx.xxx.xxx.xxx;
J'ai essayé de rajouter un fichier de politique de sécurité côté client et côté serveur:
System.setProperty("java.security.policy","Server.policy");
avec dans le fichier policy:
1 2 3
| grant{
permission java.security.AllPermission;
}; |
Par contre, je n'arrive pas à savoir si java prend en compte ce fichier, vu que si je fais une erreur dans le nom de fichier, il ne leve pas d'exception.
Pour info, j'ai redirigé le port d'écoute vers le serveur, donc l'erreur ne viens pas de là.
Au cas où, je vous met le code RMI côté client et serveur:
Serveur:
1 2 3 4 5 6 7 8 9
|
Registry registry;
//On crée le registry sur le port 18500
registry = LocateRegistry.createRegistry(18500);
welcomeMessage();
Plateau stub;
PlateauImpl service = new PlateauImpl();
stub = (Plateau) UnicastRemoteObject.exportObject(service,0);
registry.rebind("Plateau", stub); |
Client:
1 2 3
|
Registry registry = LocateRegistry.getRegistry("xxx.xxx.xxx.xxx",18500);
this.plateau = (Plateau)registry.lookup("Plateau"); |
Voila, merci à ceux qui pourront m'aider
Partager