0

RMIサーバーとRMIクライアントがあります。クライアントが作成したバージョンのRMIを実行していて、接続を受信する準備ができている場合、クライアントが接続されていない場合でも、サーバー側でクライアントのIP /ホスト名を取得するにはどうすればよいですか?

クライアントを呼び出してサーバー側にIP/ホスト名を送信するリモートメソッドを作成することを考えていましたが、メソッドを呼び出すには、接続するクライアントIP/ホスト名を知っている必要があります。

このプログラムの目的は、教師として生徒がラボで何をしているかを監視する監視プログラムを作成することです。

4

1 に答える 1

1

クライアントが接続されていない場合でも、サーバー側でクライアントの IP/ホスト名を取得するにはどうすればよいですか?

それは言葉の矛盾です。接続がない場合、現在のクライアントはありません。リモート メソッドの呼び出し中に現在のクライアントが必要な場合は、 を参照してくださいRemoteServer.getClientHost()logout()リモート メソッドの呼び出し中以外にそのデータが必要な場合は、リモート メソッドの呼び出し中にデータを収集できますが、クライアントがメソッドなどを呼び出す義務がない限り、クライアントを削除するタイミングを決定するのに苦労します。でコレクションを完全にクリアできます。Unreferenced.unreferenced()それが役立つ場合の方法。しかし、RMI の「接続」の概念を完全に取り除く必要があります。基本的にそのようなことはありません。接続は、呼び出しの間、および実装が必要とする余分な範囲にわたって存在しますが、サーバーまたはクライアントのいずれかで接続を取得する方法がないため、接続が存在しないかのように設計することもできます。ただし、リモート呼び出し中以外はクライアントは存在しません。

または、私のリモート セッション パターンを使用して、Google を試してください。

于 2012-07-13T10:15:34.333 に答える