RMI 远程连接失败
RMI Remote connection fails
我有一个非常简单的 RMI server/client,可以在同一台机器上正常工作。我现在正在尝试在一台机器上执行服务器,在另一台机器上执行客户端,两者都在同一网络上。我已经将 属性 设置为网络 ip 使用:
System.getProperty("java.rmi.server.hostname", "192.168.x.x");
& 在两台机器上都禁用了防火墙,但连接仍然失败。
客户端代码使用它连接到服务器(服务器在 8888 上使用 createRegistry):
Registry registry = LocateRegistry.getRegistry("192.168.x.x",8888);
ITest stub = (ITest) registry.lookup("ITest");
然而,被捕获的异常似乎显示的 IP 与给定的 IP 不同,例如 192.168.x.x vs 169.254.x.x:
Client exception: java.rmi.ConnectionException: Connection refused to host: 169.254.x.x; nested exception is ...
此异常可能有以下几个原因:
您还没有在后台启动 rmiregistry。
您正在尝试连接到错误的端口号。
您的防火墙可能会阻止连接。
还要确保检查并禁用任何路由器防火墙限制(如果有的话)。
正如 dave_thompson_085 所说,我打电话给 System.getProperty
这是一个我完全错过的错字。调用 System.setProperty
更正了这个问题,现在可以使用了。
我有一个非常简单的 RMI server/client,可以在同一台机器上正常工作。我现在正在尝试在一台机器上执行服务器,在另一台机器上执行客户端,两者都在同一网络上。我已经将 属性 设置为网络 ip 使用:
System.getProperty("java.rmi.server.hostname", "192.168.x.x");
& 在两台机器上都禁用了防火墙,但连接仍然失败。
客户端代码使用它连接到服务器(服务器在 8888 上使用 createRegistry):
Registry registry = LocateRegistry.getRegistry("192.168.x.x",8888);
ITest stub = (ITest) registry.lookup("ITest");
然而,被捕获的异常似乎显示的 IP 与给定的 IP 不同,例如 192.168.x.x vs 169.254.x.x:
Client exception: java.rmi.ConnectionException: Connection refused to host: 169.254.x.x; nested exception is ...
此异常可能有以下几个原因:
您还没有在后台启动 rmiregistry。
您正在尝试连接到错误的端口号。
您的防火墙可能会阻止连接。
还要确保检查并禁用任何路由器防火墙限制(如果有的话)。
正如 dave_thompson_085 所说,我打电话给 System.getProperty
这是一个我完全错过的错字。调用 System.setProperty
更正了这个问题,现在可以使用了。