1

Java RMI を使用してシステムを開発しています。いくつかの RMI クライアントと 1 つの RMI サーバーがあります。私のシステムはビザンチン フォールト トレラントであるはずなので、クライアントが悪意のあるものになる可能性があります (クラッシュ ストップだけではありません)。

その意味で、クライアントが重複して呼び出しているとき、または他のクライアント情報を使用してメソッドを呼び出そうとしているとき (サーバーと過半数の投票をトラップするため) に、サーバーで認識できるはずです。それを解決するために、クライアントとサーバーで共有される公開/秘密鍵を使用しています。各クライアントには、生成およびハッシュするための一意のキーがあり、サーバーはハッシュを検証します。ここで、データの検証に使用する必要があるキーを知るために、どのクライアントがメソッドを呼び出すかをサーバー側で知る必要があります。

サーバー上で、どのサーバーがメソッドを呼び出しているかを知ることはできますか?

よろしく、ありがとう、ヒューゴ

4

2 に答える 2

2

の結果を使用しRemoteServer.getClientHost()ます。

于 2013-06-17T10:11:59.067 に答える
0

RemoteServer には、誰かがメソッドを呼び出しているときにクライアントの IP アドレスを取得するメソッドがあると思います。

IPが十分であれば、それを調べることができます。

于 2013-06-17T09:42:32.813 に答える