从客户端调用RMISregistry时出现问题



我第一次尝试使用RMI注册表进行远程调用。我已经编写了接口和实现它的类。在尝试调用它时遇到了问题。我已经在我的windows机器中通过给start rmiregistry启动了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

我不知道你为什么感到困惑。host是主机名或IP地址。Javadoc没有提到任何关于使用URL的内容。

它也没有说你可以把零作为端口号。你不能。如果你不知道这个参数应该是什么,就省略它。

相关内容

  • 没有找到相关文章

最新更新