Можно ли создать реестр только по определенному адресу обратной связи в Java RMI?

Я работаю с Java RMI. Клиент и сервер находятся на одной машине. Для запуска реестра на сервере я сейчас использую

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

Таким образом, мой реестр запускается по IP-адресу моей машины и указанному порту. Клиент получает реестр с этим кодом

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

но также когда я использую один из других адресов обратной связи, таких как 127.0.0.2, 127.0.0.3 .. 127.255.255.254. Есть ли вероятность, что при создании реестра я могу указать ip только для одного петлевого адреса (например, только для 127.0.0.1)? Нет такого метода, как:

LocateRegistry.createRegistry(ip, port); 

1 ответ

Таким образом, мой реестр запускается по IP-адресу моей машины и указанному порту.

Нет, это не так. Он создается как прослушивающий 0.0.0.0 и указанный порт.

Если вы хотите, чтобы прослушивающий сокет слушал по определенному IP-адресу, вы должны предоставить RMIServerSocketFactory это создает ServerSockets которые делают это.

Другие вопросы по тегам