0

我正在使用 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); 
4

1 回答 1

0

所以我的注册表是在我的机器的 IP 和指定的端口上启动的。

不,不是。它被创建为监听 0.0.0.0 和指定的端口。

如果您希望侦听套接字侦听特定 IP 地址,则必须提供一个RMIServerSocketFactory创建ServerSockets该地址的接口。

于 2016-12-21T10:49:53.020 回答