3

Node.JSとSocket.IOを使用してチャットを作成しています。Herokuでホストするために10の期間のXHRポーリングを使用しています。

クライアントと一緒にページを離れるときに、サーバー上で切断メソッドを自動的に呼び出して、他のクライアントからページを削除したいと思います。実際には完了していますが...クライアントが実際にページを離れてから2分後、これは非常に厄介です。

クライアントが応答しなくなったらすぐに切断メソッドを呼び出す方法はありますか?または、少なくともクライアントがもうそこにいないことを知るのが少し速くなりますか?

jQueryを使用してページ終了時にクライアント側のソケットを閉じようとしましたが、機能しません。問題は、使用socket.disconnect()が非同期で非ブロッキングであり、ユーザーがリクエストが完了する前に離れることです...

4

2 に答える 2

2

heartbeat timeoutheartbeat intervalおよび構成close timeoutの値で遊ぶことができsocket.ioます。

このページで検索しheartbeatてください: https ://github.com/LearnBoost/Socket.IO/wiki/Configure-Socket.IOtimeout

于 2012-07-30T19:29:08.523 に答える
0

socket.ioクライアントのオプションをtrueに設定する'sync disconnect on unload'と、onbeforeunloadで同期xhr切断要求が送信され、ソケットが切断されます。

于 2014-02-23T04:04:12.853 に答える