2

我在我的系统中运行这段代码,我不想写本地地址(本地主机)或远程地址(IP 地址)......

ref= (RMISIntf)Naming.lookup("rmi://"+"192.168.0.15"+"/RMIServer");

我也尝试了这段代码,直到我没有回应

 ref= (RMISIntf)Naming.lookup("rmi://"+"localhost"+":"+8033+"/RMIServer");
 //MyRemoteObject ro = (MyRemoteObject) Naming.lookup("//" + "localhost" + ":" + port + "/" + name);
    //ref=Naming.rebind("rmi://localhost:8080/RmiServer",RMISIntf);
4

2 回答 2

2

最好先使用 localhost 进行测试,因为它很容易,并且不需要像使用远程连接(即外部地址)那样设置规则。

Java RMI 常见问题解答说,

适当的解决方法是在启动服务器时设置系统属性 java.rmi.server.hostname。该属性的值应该是服务器的外部可访问的主机名(或 IP 地址)——在 Naming.lookup 中指定为主机部分时任何工作都足够好。

也只需在此处查看远程方法调用的属性。

于 2013-04-18T07:15:26.463 回答
0

您应该能够使用两者中的任何一个使其工作,但请记住,要使其与外部地址一起工作,您可能需要在防火墙上创建一些规则并在调制解调器上进行转发。

于 2013-04-18T07:09:50.727 回答