0

我第一次尝试使用 RMI 注册表进行远程调用。我已经编写了实现它的接口和类。当我试图调用它时,我面临着这个问题。我已经通过 give 在我的 Windows 机器上启动了 rmiregistry 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

我试过给:

(一) http://localhost (二)http://localhost:1099

它离开了java.net.UnknownHostException: http://localhost:1099

更新:

将主机更改为My_Sys_IP后,我输了java.net.UnknownHostException,但最终得到Client exception: java.rmi.NotBoundException: Details

4

1 回答 1

0

我不知道你为什么感到困惑。host是主机名或 IP 地址。Javadoc没有说明使用 URL 。

它也没有说您可以将零作为端口号传递。你不能。如果您不知道它应该是什么,请忽略该参数。

于 2012-09-11T06:11:20.913 回答