3

RemoteRMIを介してエクスポートされたサービスがあります。このサービスに接続しているクライアントの数を取得できますか?

エラー検出のためにこれが必要であり、ネイティブソリューションはエラーが発生しにくいため、クライアントが自分自身を登録する必要がある独自のソリューションを構築するよりも、ネイティブメソッド(ソケットをカウントする)を強くお勧めします。

クライアントの正確な数を取得するのは良いことですが、ほとんどの場合、それが0であるかどうかを知りたいだけです。

4

1 に答える 1

2

「RMI サービスに接続されている」というような状態がないため、「RMI サービスに接続されているクライアントの数」というようなものはありません。RMI には明示的な接続がありません。基礎となる秘密の TCP 接続がありますが、それらは本質的に一時的なものです。

個別の着信RemoteServer.getClientHost()値を数えることはできますが、その場合、ホスト = クライアントであると想定しているため、クライアントが最後にいつあなたに電話したかを知る方法はまだありません。あなたのアプリケーションが知っていない限り、その場合は、たとえばログインとログアウトのステップ、またはアプリケーションのそれに対応するもので、それらを自分で数えることが重要です。

于 2012-04-10T00:39:45.907 に答える