Можно ли создать реестр только по определенному адресу обратной связи в 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
которые делают это.