2011-08-25 24 views
5

私はsocket.ioクライアントをnode.jsサーバーに接続しています。コマンドラインでnode.jsを削除すると、クライアントは直ちにフリーズ(つまり通信が停止)しますが、「切断」イベントが発生するまで〜20秒の遅延があります。これは設計上の動作ですか?切断イベントの発生の遅延を減らす設定オプションはありますか?"disconnect"イベントの発生にSocket.ioの遅延がありますか?

この動作は、socket.ioの比較的最近の(過去6か月間)の更新で変更されたようです。再接続機能がsocket.io自体に組み込まれる前に、「切断」イベントハンドラを使用して独自の再接続ロジックを実装しました。そのとき、サーバー通信が停止したときにほぼ即座に「切断」イベントが発生しました。

答えて

6

はい。 close timeout

+1

これは質問に対する回答ではありません。どのように受け入れることができますか?または、タイムアウトがこの問題を解決する方法を説明しないようにしてください。 – Iamisti

2

これはデザインパターンと思われます。クライアントは、サーバーが「一時的に」到達不能(ネットワークトラフィックなど)であると想定している可能性があり、クライアントのタイムアウトが発生するまで本質的に到達しようとします。

私はdisconnect(socket.disconnectクライアントから直接サーバーに送信されますが、この問題は発生しません。

関連する問題