Java RMI リモート呼び出し手順の分析
まず Java RMI の定義を見てみましょう:
RMI (Remote Method Invocation、リモート メソッド呼び出し) は、Java を使用して JDK1.2 に実装されています。分散アプリケーションを開発する Java の機能が大幅に強化されます。人気のあるネットワーク開発言語としての Java の大きな力は、分散ネットワーク アプリケーションを開発する強力な機能に反映されており、RMI は 100% 純粋な Java ネットワーク分散アプリケーション システムを開発するためのコア ソリューションの 1 つです。実際、これは RPC の Java バージョンと考えることができます。しかし、従来の RPC は分散オブジェクト システムにはうまく適用できません。 Java RMI は、異なるアドレス空間に格納されたプログラム レベルのオブジェクト間の通信をサポートし、リモート オブジェクト間のシームレスなリモート呼び出しを実現します。
RMI リモート呼び出し手順
RMI の相互作用図:
RMI は 3 つの部分で構成され、最初の部分は rmiregistry (JDK が提供する) です。 1 つは独立して実行できるプログラム (bin ディレクトリ内)、2 つ目はリモート オブジェクトを外部に提供するサーバー側プログラム、3 つ目はリモート オブジェクトのメソッドを呼び出すクライアント側プログラムです。
まず、rmiregistry サービスを開始します。開始時に、サービスがリッスンするポートを指定することも、デフォルトのポート (1099) を使用することもできます。
2 番目に、サーバーはまずローカルでサービスを提供する実装クラスをインスタンス化し、次に Naming/Context/Registry (以下の例で使用されているレジストリ) のバインドまたは再バインド メソッドと、RMI によって提供される他のクラスを使用して、実装のみをインスタンス化します。これで、クラスは rmiregistry に登録され、名前付きで外部に公開されます。
最後に、クライアントは、ローカル インターフェイスと既知の名前 (rmiregistry によって公開される名前) を介して RMIService から実装クラスを取得し、Naming/Context/Registry および RMI が提供する他のクラスのルックアップ メソッドを使用します。このように、ローカルにはこのクラスの実装クラスはありませんが、すべてのメソッドがインターフェイス内にあり、オブジェクトのメソッドをリモートから呼び出すことができます。
スタブとバックボーン ネットワーク間の具体的な通信プロセス:
メソッド呼び出しは、クライアント オブジェクトからスタブとリモート経由で行われます。参照層 (リモート参照層) とトランスポート層 (トランスポート層) を下方向に通過し、ホストに渡され、再度トランスポート層を通過し、リモート呼び出し層とバックボーン ネットワーク (スケルトン) を上方向に通過して、サーバー オブジェクトに到達します。
スタブはリモート サーバー オブジェクトのプロキシとして機能し、クライアントがオブジェクトをアクティブ化できるようにします。
リモート参照層はセマンティクスを処理し、単一または複数のオブジェクトの通信を管理し、呼び出しを 1 つのサーバーに送信するか複数のサーバーに送信するかを決定します。
トランスポート層は実際の接続を管理し、メソッド呼び出しを受け入れることができるリモート オブジェクトを追跡します。
バックボーン ネットワークは、サーバー オブジェクトへの実際のメソッド呼び出しを完了し、戻り値を取得します。
戻り値は、リモート参照層とサーバー側のトランスポート層を介してクライアントに戻され、その後、トランスポート層とリモート呼び出し層を介して上向きに返されます。最後に、スタブは戻り値を取得します。
JAVA RMI の簡単な例
この例は、サーバー側のリモート オブジェクトを呼び出すクライアントの加算および減算メソッドです。具体的な手順は次のとおりです:
1. リモート インターフェイスの定義
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
(学習ビデオ共有: java ビデオ チュートリアル)
2. リモート インターフェイス実装クラス
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
3. サーバー側
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
4. クライアント end
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
の結果は次のとおりです:
server end
https://blog.csdn.net/xinghun_4/article/details/45787549
関連する推奨事項:以上がJava RMI リモート呼び出し手順の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









