2010-11-21 20 views
0

はのは、ルータのパブリックIPがサーバーとコンピュータの92.1.85.179
ローカルIPであるとしましょう、ルータが92.1を転送するように設定されている192.168.0.2
です.85.179:5678サーバーでトラブル

192.168.0.2:5678に私が持っている:

System.setProperty("java.rmi.server.hostname" , "92.1.85.179"); 
Registry registry = LocateRegistry.createRegistry(5678); 
registry.rebind("TheWebServer" , webServerInt); 

クライアントがあります。

Registry registry = LocateRegistry.getRegistry("92.1.85.179" , 5678); 
server = (WebServerInterface) registry.lookup("TheWebServer"); 

クライアントがサーバーのローカルネットワークに接続している場合は問題ありません。クライアントがローカルネットワークの外部にあるとき、java.rmi.ConnectExceptionを取得します。Connection to host to:192.168.0.2;

明らかに、サーバーはクライアントに192.168.0.2のIPを与えています。コードには表示されませんが、私はSystem.setProperty("java.rmi.server.hostname" , "92.1.85.179");が変更されたと考えていました。

すべての入力をいただければ幸いです。

答えて

1

リモートオブジェクトもポート5678でエクスポートする必要があります。リモートオブジェクトをエクスポートする前に、java.rmi.server.hostnameを設定する必要があります。