ユーザーがソケットに接続できなくなったときに検出できる必要があります。ノートパソコンを閉じるときにsocket.on("disconnect")
が呼び出されているようではありませんユーザーをオフラインとしてマークするためにデータベースを更新するために実行する必要のあるajax呼び出しを実行します。接続が閉じられたかどうか、どうすれば確認できますか?クライアントが接続を失ったときにソケットIOが検出する
9
A
答えて
2
私たちもこれを見つけました。上記のように、私たち自身のハートビートタイマーを使用しました。
たとえば、サーバーは5秒ごとにハートビートを送信します(単純にサーバー時間を送信します)。クライアントには11秒のタイムアウトがあるため、ハートビートを捕まえる機会は2回あります。ハートビートを受信すると、タイマーをリセットします。両方のハートビートが不足している場合は、タイムアウト機能が実行され、必要な機能を実行できます。
かなり簡単です。
3
で述べたように、Socket.IOには独自のハートビートの実装があります。 デフォルトは、接続が失われた場合の25秒間隔と60秒のしきい値です。
私のアドバイス:テストで期待どおりのデフォルトを設定してください。それ以外の場合は、しきい値を逃すことがあります。
例:
socket.set("heartbeat timeout", 10);
socket.set("heartbeat interval", 5);
+0
これが受け入れられる回答である必要があります。それは最初に動作します...私の場合、タイムアウトと間隔はミリ秒単位で10000の代わりに10 ... Perfect Thanks! –
関連する問題
- 1. Webソケットの接続が失敗した場合にクライアントの負荷でMeteorが検出される
- 2. TCP接続が失われたときの検出
- 3. 接続に失敗しました:IO ::ソケット:: INET:接続:タイムアウトがPerlで表示されています。
- 4. ソケットIOを再接続しますか?
- 5. AndroidクライアントPCサーバーのJavaソケット接続に失敗しました
- 6. C#インターネット接続が失われたときにMySQL接続が失敗する
- 7. Nodejsがクライアントにリモートテールとソケットioを生成する
- 8. Notes接続が失われたクライアント
- 9. java.lang.NoClassDefFoundErrorが:の失敗解像度:サンリオ/ソケット/クライアント/ IO $オプション
- 10. ソケットIOが適切に接続を閉じていません
- 11. ソケットIOが正しいサーバーに接続していません。
- 12. ソケット:クライアントが他のコンピュータ/サーバに接続できません
- 13. ソケットがクライアント上で開かれたときを検出する方法は?
- 14. IO ::ソケットTCP接続の問題
- 15. ソケットio接続のHTTPリクエストベースのヘルスチェック
- 16. Reactネイティブでソケットioをhttpsに接続できません
- 17. クライアントへの接続が失われたときにリクエストを取り消す
- 18. C#サーバーがフォーカスを失ったときにクライアントが接続した場合のサーバーの終了/クラッシュ
- 19. クライアント側のソケット接続
- 20. ユーザーがソケットに接続したときにCookieを作成します。 io - node js
- 21. 接続時のソケットio roomへの接続
- 22. Jetty WebSocketで接続が失われたことを検出する方法
- 23. Java SSLソケットがクライアントから接続できません
- 24. バージョン(EasyRTC)を更新した後、クライアントのソケットIOソケットIDが異なる
- 25. クライアント側からSignalRで接続が失われていることを検出しました。
- 26. XMLHttpRequestが接続されたときに検出
- 27. Pythonソケットがクライアント接続を待機する
- 28. Socket IOで再接続イベントを検出する方法
- 29. ウェブソケット。 Tyrus。クライアントがソケットに接続されている時間
- 30. ソケット接続がすべてのクライアント/接続を認識しない
私は、リスナー、またはサーバからの応答をクライアントをチェックする「ハートビート」を持つ提案します。それが私の行いなのです。 –
私は以前のバージョンのWebサイトでこれを行いましたが、十分なユーザー数があれば、サーバー上で多すぎる負荷がかかるように見えますが、唯一のオプションです。 –
socket.ioはハートビートを使用しているので、これは実行可能であると確信しています – EhevuTov