客人的計算機可能位於服務器以外的網絡上。 如果不是,則一切正常,但是當他出現時,會拋出ConnectException
。在不同的網絡上使用RMI
你知道爲什麼嗎?
額外的信息: 我修改了端口從1099(默認值)到80來試圖解決這個問題,不能正常工作。 使用Wireshark,我看到客人正在使用端口50740.我不明白爲什麼,以前從未看到過這個數字。 我使用.policy文件授予所有權限。
編輯: 我已經服務器IP由.BAT定義。在我的客戶開始時,我也有Locate.createRegistry(80);
。客戶使用端口80是否足夠?
奇怪的是,我可以嘗試登錄(我的應用程序要求登錄時啓動),看看我的憑據是否可以。然後,如果客戶端不在同一個網絡上,則引發ConnectException
。
這不是一個java/rmi的問題imo。 – Andreas 2015-02-11 15:19:56
我認爲這是不可能的,我有這個問題,並在我的情況下,我不得不使用套接字而不是RMI。這裏有一個類似的問題:http://stackoverflow.com/questions/16268391/java-rmi-over-the-internet – fdam 2015-02-11 15:40:07
@Andreas哦,是的。 – EJP 2015-02-11 22:16:05