2017-03-05 111 views
0

我创建了一个RMI服务,其中包括一些方法从另一台计算机调用。服务器和客户端有有效的IP地址,当我尝试在客户端运行程序时,我得到一个connection refused异常。连接在java中拒绝错误RMI

当我更改IP地址为localhost,将解决我的问题,但是当我尝试远程到另一个IP地址发生同样的错误。

+0

[标签:网页套接字]无关,用它做。 – EJP

+0

@Micho不要对没有引用的文本使用引号格式。 – EJP

回答

-1

尝试使用此之前寄存器RMI

System.setProperty( “java.rmi.server.hostname”,REGISTRY_HOST);

这里REGISTRY_HOST是IP地址。

+0

您需要在“注册RMI”之前做相当的工作。如果注册表主机与服务器主机不同,则它是错误的主机:您应该使用服务器主机。如果它们是相同的,您应该仍然使用服务器主机IP。 – EJP

0

有三种情况的RMI '连接被拒绝':

  1. 当调用bind()/rebind()/unbind()。注册表不是在您使用的host:port或URL上启动的。
  2. 当调用lookup()。如果(1)成功,您尝试查找错误的注册表。注册表通常运行在与服务器相同的主机上。
  3. 当调用一个远程方法。这意味着在导出任何远程对象之前,您需要在服务器JVM上设置java.rmi.server.hostname。为什么请参阅RMI FAQ项目A.1。更好的解决方法是修复DNS或hosts文件。