0

多くのクライアントを持つサーバー ソリューションを作成しています。ユーザー情報とソケットを格納するには、arraylist を使用します。ブロードキャスト メッセージ...

クライアント側では、

サーバーが閉じると、例外がスローされ、例外をキャッチして対応するアクションを実行できます。

しかし、サーバー側では、

クライアントがオフラインの場合、サーバーは例外をスローしません。達成する方法はありますか。

接続が正常かどうかを確認するために、10 秒ごとにボードキャスト メッセージを送信してこれを実行しています。代わりに、ヘルスチェック ボードキャスト メッセージの間隔を短くします。setListenerなどの方法があれば?

4

1 に答える 1

1

Java (Apache Mina など) でのこのタイプの接続には多くの解決策がありますが、クライアントが切断しようとしていることをサーバーに通知するメッセージを送信しない限り、サーバーとクライアントが失敗します。実装したようです。クライアントが失敗した場合、リスナーがサーバーに通知されず、孤立したセッションが発生するため、フェイル セーフ ソリューションとしてリスナーを使用すると問題が発生することがあります。

于 2013-05-29T03:55:47.853 に答える