我第一次尝试使用RMI注册表进行远程调用。我已经编写了实现它的接口和类。当我试图调用它时,我正面临着这个问题。我已经在我的windows机器中启动了start rmiregistry,它打开了一个新窗口。
客户端prg看起来如下:
String host = "172.27.49.199:1099";
try {
System.out.println(LocateRegistry.getRegistry());
Registry registry = LocateRegistry.getRegistry(host,0);
Details stub = (Details) registry.lookup("Hello");
String response = stub.Name();
System.out.println("response: " + response);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
}我对host需要给予什么样的价值感到困惑。
我试过给予:
(a) http://localhost (b) http://localhost:1099
只剩下java.net.UnknownHostException: http://localhost:1099了。
更新:
在将主机更改为My_Sys_IP之后,我失去了java.net.UnknownHostException,但最终得到了Client exception: java.rmi.NotBoundException: Details。
发布于 2012-09-11 06:11:20
我不知道你为什么会困惑。host是主机名或IP地址。Javadoc没有提到使用URL。
它也没有说你可以把零作为端口号传递。你不能。如果你不知道它应该是什么,就省略这个参数。
https://stackoverflow.com/questions/12363649
复制相似问题