我想第一次使用RMI註冊表進行遠程調用。我寫了實現它的接口和類。當我試圖調用它時面臨問題。我在Windows機器上啓動了rmiregistry,它提供了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
價值混淆的。
我試過給:
(一)http://localhost
(B)http://localhost:1099
它留下java.net.UnknownHostException: http://localhost:1099
。
更新:
改變主機My_Sys_IP後,我失去了java.net.UnknownHostException
但Client exception: java.rmi.NotBoundException: Details
'NotBoundException'表示您查找的項目不在那裏。我懷疑你正在與錯誤的註冊表交談:請參閱我的答案下面的評論。 – EJP