2010-11-20 14 views
2

で、私は、JavaおよびRMIに新しいんだけど、私は、単一のサーバに接続している多くのクライアントが存在するように私のアプリを書くことをしようとしています。これまでのところ、とても良い....検出サーバーのクラッシュは、RMI

しかし、私は(クラッシュまたは通信の問題をシミュレート)サーバーを閉じたときに、私は、サーバーへの私の次の呼び出しを行うまで、私のクライアントは気付かないまま。私のクライアントは、サーバーがなくても「オフラインモード」で作業を続ける必要があります。ユーザーエクスペリエンスが向上すればするほど、オフラインであることをすぐに知ることができます。

クライアントが持つか、似たような問題を検出することができることを開いたままアクティブな接続がある - または私は単純に次の呼び出しが失敗するまで待機する必要がありますが?私はサーバーにpingを実行することができると思っていましたが、最良の方法ではないようです。任意のヘルプ

答えて

1

ため

おかげで、実際に私はちょうどRMIとCORBAについての詳細を学ぶためにしようとしているが、私はそこまであなたがしているようではないです。私が知っていることは、これらのシステムも安価に構築されており、能動的な接続が高価なものであることは分かっています。

あなたのサーバーが何らかの理由で「私はまだここにいる」が、TCP接続を使用しないでマルチキャストアドレスを使用することをお勧めします。

1

私はRMIアプリ(ユニ割り当てを)書いていたとき、私はこれに少し見えたが、私は、リモートシステムが生きているかどうかをテストのための任意の作り付けの機能に遭遇しませんでした。私はちょうどこれのためにUDPハートビートメカニズムを使用します。

1

(未テスト)。別のRMI呼び出しを繰り返しサーバーに送り、「待機X秒」した後に戻ると、サーバーが停止したときに実行が失敗したというメッセージが表示されます。

関連する問題