Java RMI に関連するいくつかのチュートリアル (そのうちの 1 つ) を読んでいますが、RMI サーバーについてほとんど理解していません。
Java メイン プログラムを起動し、 を作成してUnicastRemoteObject
から、RMI レジストリ サーバーにオブジェクトをバインドします (チュートリアルに従ってください)。その後、Java メイン プログラムはバインド後に終了します。
の親クラスはUnicastRemoteObject
ですRemoteServer
。私が作成したすべてのリモート オブジェクト (これも ですUnicastRemoteObject
) は、1 つの匿名ポートでリッスンする Java プロセス (JVM) であると想定しています。
では、10 個のリモート オブジェクトがある場合、クライアントのリモート呼び出しを処理するために 10 個のポートが占有されるのでしょうか? これは正しくないように思えますが、実際に確立された RMI サーバーがどこにあり、リモート クライアントの呼び出しのために RMI サーバーが占有するポート数がわかりません。
誰かがこのことがどのように機能するかを詳細に説明できますか?