【问题标题】:Java RMI : connection refusedJava RMI:连接被拒绝
【发布时间】:2011-07-01 08:35:57
【问题描述】:

我为 RMI 的客户端编写了以下代码。但是得到

java.rmi.ConnectException: Connection refused to host: localhost; nested 
exception is:
    java.net.ConnectException: Connection refused: connect

代码:

import java.rmi.*;
import java.net.*;
import java.rmi.registry.*;

class client
{
    public static void main(String [] ars)
    {
        Iface serv;
        Registry r;
        String serveraddr = ars[0];
        String serverport = ars[1];
        String text = "Hey jude";

        System.out.println("Sending" + text);

        try{
            r = LocateRegistry.getRegistry(
            serveraddr,
            (new Integer(serverport)).intValue()
            );
            serv = (Iface) r.lookup("rmi://server");

            serv.receive(text);
        }
        catch(Exception e){
            System.out.println(e);
        }
    }   
}

【问题讨论】:

    标签: java rmi


    【解决方案1】:

    如果您在绑定、重新绑定或查找时遇到这种情况,则说明注册表没有运行。如果你得到它进行远程调用,请参阅 Javadoc 提供的RMI FAQ 中的项目 A.1,如果你正在运行 Linux,还要检查你的 /etc/hosts 文件是否将 127.0.0.1 映射到 localhost 和你的真实 ip地址到您的真实主机名 - 这在某些 Linux 发行版中是一个常见问题。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。这很愚蠢,但只是我忘了启动 RMI 注册过程。

      所以,你还需要运行 RMI Registry 进程

      rmiregistry 
      

      在您尝试使用 RMI 注册表重新绑定(地址,obj)之前。

      【讨论】:

      • 感谢您的批评。 @Begueradj
      猜你喜欢
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2010-12-21
      相关资源
      最近更新 更多