2016-12-21 2 views
0

Je travaille avec Java RMI. Le client et le serveur sont sur la même machine pour le moment. Pour démarrer le registre sur le serveur, je suis actuellement en utilisantEst-il possible de créer un registre uniquement sur une adresse de bouclage spécifique dans Java RMI?

int serverPort = 8081;   
Registry registry = LocateRegistry.createRegistry(serverPort); 

Donc, mon registre est lancé sur l'IP de ma machine et le port spécifié. Le client obtient le registre avec ce code

Registry registry = LocateRegistry.getRegistry(127.0.0.1, 8081); 

mais aussi quand j'utilise l'une des autres adresses comme loopback 127.0.0.2, 127.0.0.3 .. 127.255.255.254. Est-il possible que je puisse spefified l'IP pour seulement une adresse de bouclage (par exemple seulement pour 127.0.0.1) en créant le registre? Il n'y a pas de méthode comme:

LocateRegistry.createRegistry(ip, port); 

Répondre

0

Donc, mon registre est lancé sur l'IP de ma machine et le port spécifié.

Non, ce n'est pas le cas. Il est créé en écoutant 0.0.0.0 et le port spécifié.

Si vous souhaitez que le socket d'écoute écoute une adresse IP spécifique, vous devez fournir un RMIServerSocketFactory qui crée ServerSockets pour ce faire.