我在我的系统中运行此代码,并且我不会天气写入localaddress(localhost)或远程地址(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);
答案 0 :(得分:2)
最好首先使用localhost进行测试,因为它很容易,并且不需要像远程连接那样设置规则,即外部地址。
适当的解决方法是设置系统属性 启动服务器时的java.rmi.server.hostname。的价值 property应该是外部可访问的主机名(或IP地址) 服务器 - 当指定为主机部分时,无论什么工作 Naming.lookup足够好了。
另外,只需查看远程方法调用here的属性。
答案 1 :(得分:0)
您应该能够使用这两者中的任何一个来工作,但请记住,为了使用外部地址,您可能需要在防火墙上创建一些规则并在调制解调器上转发。