2011-09-08 23 views

回答

2

你方的報價具有以下URI的RMI調用的例子:

"rmi://localhost:1099/CalculatorService" 

這告訴你的RMI客戶端調用RMI服務器在同一主機上。如果將遠程服務器的主機名或IP地址替換爲「localhost」,則客戶端將調用它。

+0

@ Olaf-謝謝,但我得到這個錯誤-RemoteException java.rmi.UnmarshalException:error unmarshalling return;嵌套的異常是: java.lang.ClassNotFoundException:CalculatorImpl_Stub(沒有安全管理器:禁用RMI類加載器) –

+0

@P Ramesh:您是否將RMI服務器部署在要連接的另一主機上? – Olaf

+0

@奧拉夫 - 是的,我已經部署在另一邊。事實上,在服務器端執行客戶端程序可以正常工作。只有當我將本地主機更改爲客戶機上的服務器IP時,纔會顯示此錯誤。 –

1

如果你做得正確,那麼你不需要改變任何東西。這正是RMI的目的。

+0

好的,但它怎麼知道客戶機的IP是什麼?對不起,我的無知可以請你詳細說明/指導我嗎? –

+0

您必須知道其他機器的IP,並從註冊表中獲取遠程對象。網絡上有很多例子。只是谷歌它。 – peshkira