異なるホストでRMIを使用してネーミングシステムを実行するにはどうすればよいですか?

アニス・ヘルバジ

2つのJavaクラスがあり、1つはクライアントで、もう1つはサーバーです。クライアントでは、サーバーにIPアドレスを指定する必要がありますが、クライアントが3番目のマシン(ネームシステム)のIPを認識できるように動的にしたいです。メソッド(DNSなど)を検索し、このメソッドを提供する特定のサーバーのIPアドレスを返します。

編集:

クライアントクラス:

public class Client {
private Client() {}

public static void main(String[] args) {

    String host = (args.length < 1) ? null : args[0];
    try {
        //Registry registry = LocateRegistry.getRegistry(host);
        Registry registry = LocateRegistry.getRegistry("192.168.1.9",1091);

        Calculator stub = (Calculator) registry.lookup("Hello");

        String response = stub.add(4,2);
        System.out.println("response: " + response);
    } catch (Exception e) {
        System.err.println("Client exception: " + e.toString());
        e.printStackTrace();
    }
}

}

サーバー:

public class Server implements Calculator{

public Server() {}

public String add(int a,int b) {
    return "Hello, a+b= "+(a+b);
}
public String sub(int a,int b) {
    return "Hello, a-b= "+(a-b);
}
public static void main(String args[]) {

    try {
        Server obj = new Server();
        Calculator stub = (Calculator) UnicastRemoteObject.exportObject(obj, 0);

        // Bind the remote object's stub in the registry

        Registry registry = LocateRegistry.createRegistry(1091);
        registry.bind("Hello", stub);

        System.err.println("Server ready");
    } catch (Exception e) {
        System.err.println("Server exception: " + e.toString());
        e.printStackTrace();
    }
}

}

user207421

RMIレジストリではこれを行うことはできません。レジストリと同じホストで実行されているプロセスのみがバインドできます。LDAPなどの別のネーミングサービスを使用する必要があります。

ただし、残りの説明はRMIがすでに行っていることです。レジストリで名前を検索すると、対応するリモートオブジェクトとの通信方法を知っているスタブが返されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Scalaを使用してSparkストリーミングのTwitterで人気のあるタグを実行するにはどうすればよいですか?

分類Dev

ホストマシンで実行されているJupyterNotebookからDockerコンテナで実行されているipythonカーネルを使用するにはどうすればよいですか?

分類Dev

ホストシステムではなくゲストVMにのみusbテザリングを使用するにはどうすればよいですか?

分類Dev

RDPを使用せずに、リモートマシンでFlaUIを使用してUIテストを実行するにはどうすればよいですか?

分類Dev

2つの異なるホストで実行される2つのコンテナを接続するにはどうすればよいですか?

分類Dev

LinuxでシステムデーモンとしてPerlスクリプトを実行するにはどうすればよいですか?

分類Dev

を使用して単純なテキストファイルをストリーミングするにはどうすればよいですか

分類Dev

VLCを使用してChromecastにストリーミングするにはどうすればよいですか?

分類Dev

SpringJPAを使用してスレッドセーフな「updateXXXset a = a + 1」ステートメントを実行するにはどうすればよいですか?

分類Dev

サーバー エージェントは Linux マシンで実行されています サービスは異なるポートで実行されていましたが、異なるポートで CPU を使用するにはどうすればよいでしょうか。

分類Dev

データフレームとは異なるラベルを使用してスペーシーテキスト分類をトレーニングするにはどうすればよいですか?

分類Dev

異なるコンテキストのクエリにシーケンスラベリングを使用するにはどうすればよいですか?

分類Dev

ターミナルコマンドを使用して簡単なJavaプログラムを実行するにはどうすればよいですか?

分類Dev

同じコンテナで同じコードベースで異なるプロファイルを使用して実行されている2つのSpringBootアプリケーションをリモートデバッグするにはどうすればよいですか?

分類Dev

ターミナルコマンドを使用してシステムパス( `$ PATH`)からパスを削除するにはどうすればよいですか?

分類Dev

ターミナルコマンドを使用してシステムパス( `$ PATH`)からパスを削除するにはどうすればよいですか?

分類Dev

ブーストテストを実行してミニダンプを作成するにはどうすればよいですか?

分類Dev

UbuntuでのみClamAVを使用してシステム全体のスキャンを実行するにはどうすればよいですか?

分類Dev

Akkaストリームを使用して、異なる値を含む文字列でグループ化するにはどうすればよいですか?

分類Dev

グリッドを使用してキュウリのテストケースを並行して実行するにはどうすればよいですか?

分類Dev

グリッドを使用してキュウリのテストケースを並行して実行するにはどうすればよいですか?

分類Dev

異なるデータを使用してコンポーネントをレスキューするにはどうすればよいですか?

分類Dev

Firebaseホスティングを使用してホストされるfireappに変更を適用するにはどうすればよいですか?

分類Dev

異なるデータで同じテストクラスを使用してSpringRestコントローラーテストを実行するにはどうすればよいですか?

分類Dev

複数のユーザーが同じシステムを使用してテンソルフロープログラムを一度に実行できるようにするにはどうすればよいですか?

分類Dev

特定の除外を使用して一般的なSQLLIKEステートメントを実行するにはどうすればよいですか?

分類Dev

authcontext()でjest / RTLを使用してテストを実行するにはどうすればよいですか

分類Dev

単純なJoinステートメントを使用して異なる値で列を更新するにはどうすればよいですか?

分類Dev

並行してテストするときに、jmv gradleスポーンごとに異なるシステムプロパティを設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    Scalaを使用してSparkストリーミングのTwitterで人気のあるタグを実行するにはどうすればよいですか?

  2. 2

    ホストマシンで実行されているJupyterNotebookからDockerコンテナで実行されているipythonカーネルを使用するにはどうすればよいですか?

  3. 3

    ホストシステムではなくゲストVMにのみusbテザリングを使用するにはどうすればよいですか?

  4. 4

    RDPを使用せずに、リモートマシンでFlaUIを使用してUIテストを実行するにはどうすればよいですか?

  5. 5

    2つの異なるホストで実行される2つのコンテナを接続するにはどうすればよいですか?

  6. 6

    LinuxでシステムデーモンとしてPerlスクリプトを実行するにはどうすればよいですか?

  7. 7

    を使用して単純なテキストファイルをストリーミングするにはどうすればよいですか

  8. 8

    VLCを使用してChromecastにストリーミングするにはどうすればよいですか?

  9. 9

    SpringJPAを使用してスレッドセーフな「updateXXXset a = a + 1」ステートメントを実行するにはどうすればよいですか?

  10. 10

    サーバー エージェントは Linux マシンで実行されています サービスは異なるポートで実行されていましたが、異なるポートで CPU を使用するにはどうすればよいでしょうか。

  11. 11

    データフレームとは異なるラベルを使用してスペーシーテキスト分類をトレーニングするにはどうすればよいですか?

  12. 12

    異なるコンテキストのクエリにシーケンスラベリングを使用するにはどうすればよいですか?

  13. 13

    ターミナルコマンドを使用して簡単なJavaプログラムを実行するにはどうすればよいですか?

  14. 14

    同じコンテナで同じコードベースで異なるプロファイルを使用して実行されている2つのSpringBootアプリケーションをリモートデバッグするにはどうすればよいですか?

  15. 15

    ターミナルコマンドを使用してシステムパス( `$ PATH`)からパスを削除するにはどうすればよいですか?

  16. 16

    ターミナルコマンドを使用してシステムパス( `$ PATH`)からパスを削除するにはどうすればよいですか?

  17. 17

    ブーストテストを実行してミニダンプを作成するにはどうすればよいですか?

  18. 18

    UbuntuでのみClamAVを使用してシステム全体のスキャンを実行するにはどうすればよいですか?

  19. 19

    Akkaストリームを使用して、異なる値を含む文字列でグループ化するにはどうすればよいですか?

  20. 20

    グリッドを使用してキュウリのテストケースを並行して実行するにはどうすればよいですか?

  21. 21

    グリッドを使用してキュウリのテストケースを並行して実行するにはどうすればよいですか?

  22. 22

    異なるデータを使用してコンポーネントをレスキューするにはどうすればよいですか?

  23. 23

    Firebaseホスティングを使用してホストされるfireappに変更を適用するにはどうすればよいですか?

  24. 24

    異なるデータで同じテストクラスを使用してSpringRestコントローラーテストを実行するにはどうすればよいですか?

  25. 25

    複数のユーザーが同じシステムを使用してテンソルフロープログラムを一度に実行できるようにするにはどうすればよいですか?

  26. 26

    特定の除外を使用して一般的なSQLLIKEステートメントを実行するにはどうすればよいですか?

  27. 27

    authcontext()でjest / RTLを使用してテストを実行するにはどうすればよいですか

  28. 28

    単純なJoinステートメントを使用して異なる値で列を更新するにはどうすればよいですか?

  29. 29

    並行してテストするときに、jmv gradleスポーンごとに異なるシステムプロパティを設定するにはどうすればよいですか?

ホットタグ

アーカイブ