我正在使用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. 创建注册表时,我是否有可能只为一个环回地址(例如,仅适用于 127.0.0.1)指定 ip?没有像这样的方法:
LocateRegistry.createRegistry(ip, port);
所以我的注册表在我的机器的 IP 和指定的端口上启动。
不,不是。它被创建为侦听 0.0.0.0 和指定的端口。
如果您希望侦听套接字侦听特定的 IP 地址,则必须提供一个创建执行此操作ServerSockets
的RMIServerSocketFactory
。