別のネットワークでホストされているサーバーからリモート オブジェクトを取得しようとしています。同じマシンと同じネットワークに接続できますが、別のネットワークから取得しようとすると、次のようになります。
ホストへの接続が拒否されました: 192.168.1.131; ネストされた例外: java.net.ConnectException: 接続タイムアウト: 接続
ルックアップ機能が間違ったネットワークを検索しているようです。System.setProperty を使用しようとしましたが、機能しません。ここにコード:
サーバ
public class Main {
public static void main(String[] args) {
try{
System.out.println("Init server...\n");
TestInterface test = new TestImplement();
System.setProperty("java.rmi.server.hostname", "95.247.x.x");
System.out.println("Reg RMI...\n");
Registry rmiRegistry = LocateRegistry.createRegistry(5555);
rmiRegistry.rebind("Test" , test);
System.out.println("Reg completed!\n");
}catch(Exception e){
e.printStackTrace();
}
}
}
クライアント
...
registryRMI = LocateRegistry.getRegistry("95.247.x.x",5555);
TestInterface testClient = (TestInterface)registryRMI.lookup("Test");
...
java.rmi.server.hostname
クライアントjarにも設定する必要がありますか?