Java.rmi.ConnectException: 连接被拒绝到主机:

3
  java.rmi.ConnectException: Connection refused to host: IPSERVER0.0.0.0.0; nested exception     is: 
java.net.ConnectException: Connection timed out
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:340)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:101)
at StartRMI.go(StartRMI.java:14)
at StartRMI.main(StartRMI.java:6)
    Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 7 more

当我尝试将远程客户端连接到我的服务器时,出现了这个异常。我的服务器正常运行RMI服务器,并且没有安装防火墙。如何解决这个问题?


它真的说 IPSERVER0.0.0.0.0 吗? - user207421
4个回答

2

请检查所有网络适配器,有时候虚拟机网络适配器会干扰本地连接。当前的 localhost127.0.0.1 可能不再指向你的主机名或当前机器,这会导致连接被拒绝的问题。我的一般建议是:

1.To check or disable unwanted VM or Network Adapters

2.Ping 127.0.0.1

3.Disable Firewall and Test if all the above doesn't work 

4.Add security Manager with a policy file on you server if you haven't done that.

0
尝试使用以下命令启动RMI注册表:
start rmiregistry 

对于默认端口或

rmiregistry <port_no> 

针对指定的端口。


0

您没有提到您使用的操作系统,如果代码和防火墙方面都正确,那么您可能需要检查主机条目或IP表规则。


使用的操作系统是Ubuntu 12.04。 - user2279895

0

IPSERVER是否在/etc/hosts文件中映射到您想要的IP地址? 检查执行hostname -ihostname时获取的内容。

尝试将您的IP地址替换为域名。


是的。该IP地址已映射在 /etc/hosts 文件中。 - user2279895
尝试使用你的 IP 地址代替域名。 - SSaikia_JtheRocker
你是想连接到本地主机还是127.0.0.1? - SSaikia_JtheRocker
1
成功了!只需将机器的名称添加到 /etc/hosts 中的 127.0.0.1。 - user2279895
1
127.0.0.1 应该映射到 "localhost",而你的真实 IP 地址应该映射到你的真实主机名。 - user207421

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接