“线程中的异常”;“主要”;java.rmi.ConnectException:拒绝连接主机:192.168.1.55;嵌套异常是:
我在我的系统中运行这段代码,我不想写localaddress(localhost)或remoteaddres(IP address) 我也会尝试这个代码,直到没有回应“线程中的异常”;“主要”;java.rmi.ConnectException:拒绝连接主机:192.168.1.55;嵌套异常是:,java,exception,Java,Exception,我在我的系统中运行这段代码,我不想写localaddress(localhost)或remoteaddres(IP address) 我也会尝试这个代码,直到没有回应 ref= (RMISIntf)Naming.lookup("rmi://"+"localhost"+":"+8033+"/RMIServer"); //MyRemoteObject ro = (MyRemoteObject) Naming.lookup("//" + "localhost" + ":" + port + "/"
ref= (RMISIntf)Naming.lookup("rmi://"+"localhost"+":"+8033+"/RMIServer");
//MyRemoteObject ro = (MyRemoteObject) Naming.lookup("//" + "localhost" + ":" + port + "/" + name);
//ref=Naming.rebind("rmi://localhost:8080/RmiServer",RMISIntf);
您应该能够使用这两个地址中的任何一个使其工作,但请记住,要使其与外部地址工作,您可能需要在防火墙和调制解调器上创建一些规则。最好先使用本地主机进行测试,因为这很容易,并且不需要像远程连接(即外部地址)那样设置规则 他说, 适当的解决方法是设置系统属性 启动服务器时显示java.rmi.server.hostname。价值 属性应为外部可访问的主机名(或IP地址) 在中指定为主机部分时可以工作的内容 Naming.lookup就足够了
另外,请看一下远程方法调用的属性。在执行此程序之前,我启动了rmiregisrty,但仍然得到错误…@user2293819此答案是正确的+1.如果您没有启动RMI注册表,您的服务器就会出现故障,您甚至不会走到这一步。这无关紧要对于需要客户端理解的值,“localhost”不是合适的设置。您需要将其设置为客户端可以访问的服务器主机的IP地址。
ref= (RMISIntf)Naming.lookup("rmi://"+"localhost"+":"+8033+"/RMIServer");
//MyRemoteObject ro = (MyRemoteObject) Naming.lookup("//" + "localhost" + ":" + port + "/" + name);
//ref=Naming.rebind("rmi://localhost:8080/RmiServer",RMISIntf);