Bonsoir,
J'ai suis en train de tester java RMI. J'ai ecris un programme tout simple qui fonctionne tres bien lorsque je fais le test sur la même machine. ( client et serveur sur la meme machine).
voici le code du serveur
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import java.rmi.Naming;
public class CalculatorServer {
public CalculatorServer() {
try {
Calculator c = new CalculatorImpl();
Naming.rebind(
"rmi://localhost:1099/CalculatorService", c);
} catch (Exception e) {
System.out.println("Trouble: " + e);
}
}
public static void main(String args[]) {
new CalculatorServer();
}
} |
et le code du client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import java.rmi.*;
import java.net.*;
public class CalculatorClient {
public static void main(String[] args) {
try {
Calculator c = (Calculator) Naming.lookup(
"rmi://localhost/CalculatorService");
System.out.println(c.sub(4, 3));
System.out.println(c.add(4, 5));
System.out.println(c.mul(3, 6));
System.out.println(c.div(9, 3));
} catch (RemoteException re) {
...
}
} |
Comme je le disais, tout fonctionne parfaitement lorsque j'ai le client et le serveur sur le même poste.
Maintenant si je met le code serveur sur un pc distant dont l'adresse est 192.168.1.11 (sans modifier le code)
et que je modifie le code du client comme suis
"rmi://192.168.1.11/CalculatorService");
Alors l'application ne fonctionne pas.
Je suis un peu étonné .
Si quelqu'un as une idée je suis preneur
Partager