2

XMPP サーバーへの TCP クライアント ソケット接続を確立していますが、接続の中断 (サーバーのクラッシュ、再起動など) を確実に検出する方法が必要です。end、error、および close イベントにリスナーをアタッチしていますが、アクティブな接続中にインターネット接続を切断すると、リスナーが確実に起動しません。接続が切断されたとき、クライアントはどのように検出できますか? ping /タイムアウトに頼らないことをお勧めします。

4

1 に答える 1

4

私は決して TCP やソケット プログラミングの専門家ではありませんが、「接続の中断を検出する信頼できる方法」が存在しないことは確かです。たとえば、この Unix.com スレッドを参照してください。

ノードでは、オプションはsocket.setTimeout / socket.on ('timeout', callback)および/またはsocket.setKeepAliveのようです。

編集:これはTCP キープアライブに関するガイドです。

于 2012-04-23T22:28:29.837 に答える