2011-02-01 3 views
0

リモートオブジェクトがホストされているマシンのIPを判別する方法はありますか?rmiレジストリからこの情報を取得する方法はありますか?rmiレジストリを使用したjava rmiリモートオブジェクトホストマシンのipの決定

+0

呼び出し中に行うことができます:RemoteServer.getClientHost() – bestsss

+0

@bestsss:これは*サーバ*に*クライアントのIPアドレスを与えます*これは彼が求めたものではありません。 – EJP

+0

@EJP、それは本当です、私はあなたの答えに答えるが、このコメントを忘れて気づいた。 – bestsss

答えて

1

rmiregistryにアクセスできるのは、そのIPが存在する場合のみです。また、Remoteインターフェースで登録されたメソッドだけを呼び出すこともできます。 IPを返すためにインタフェースに関数を書くのは役に立たないと思います。

+0

こんにちは、いいアイデア!それは私のために働く!私はレジストリのIPを知っていると私はちょうどリモートオブジェクトをケアマシンのIPを必要とする!ありがとう!おそらく私はすべてのオブジェクトを別のレジストリを使用すると思ったが、レジストリが1つだけなので、これが機能します。 – Range

0

情報を使用する可能性はないので、API経由では提供されません。スタブで行う必要があるのは、それを使ってリモートメソッドを呼び出すことだけです。

+0

呼び出しに失敗したとします(IO Errorなど)が、潜在的に要求を運ぶことができるより多くのスペアマシン(兄弟)がクラスタ内に存在するとします。オブジェクトが提供されているものを避けて別のものを選んでください。実際には、LiveRefの部分からIPを取得することは可能ですが、それはあまり実装の詳細です。 – bestsss

+0

@bestsss:スタブのIPアドレスを持っていても、*使用することができないので、どこにでもあなたを取得できません。この場合に必要なのは*別のスタブです*、つまり兄弟に:つまりロードバランシングレジストリのようなものです。この時点で、IIOPと適切なベンダーを介してCORBAを調べています。 – EJP

+0

私はあなたが同じものを使うことができるという意味ではなく、別のもの(クラスタのセットから)を選ぶことを意味しました。 – bestsss

関連する問題