チャネルAPI(javaバックエンド-javascriptフロントエンド)を使用してチャットアプリを構築しています。ユーザーがユーザー名を取得するたびに、残りのユーザー画面に一覧表示されます。新しいユーザーがチャネルから各ユーザーに送信され、表示されます。しかし、ウィンドウを閉じた場合、リストからユーザーを削除したいと思います。私は実際に、ユーザーがチャネルAPIを使用してウィンドウを閉じたかどうかを認識する方法を知りたいですか?
質問する
132 次
2 に答える
0
私はPythonでも同じことをしています。あなたがする必要があるのはプレゼンスインバウンドサービスを有効にすることだけです、そしてそれからあなたはクライアントが切断されるときはいつでも/ _ah / channel /disconnected/でリクエストを受け取るでしょう。リクエストパラメータから、クライアントが誰であるかを判断し、アプリケーションのユーザーリスト(存在する場合)からクライアントを削除し、(必要に応じて)残りのクライアントにチャネルメッセージを送信して、クライアントに表示されるリストからクライアントを削除することができます。
于 2012-12-30T03:43:30.867 に答える
0
これを直接行う必要があるのはチャネルAPIではありません。JavaScriptonunload
では、ユーザーがいつページから離れるかを判断し、通常どおりにチャネルAPIをトリガーするために使用できます。ただし、呼び出される保証はありません(マシンの電源をハードオフした場合にどうなるか考えてみてください)。JavaScriptを使用してハートビートを提供し、サーバーに「X秒/分/何でもクライアントから何も聞こえない場合は、このユーザーのセッションが閉じていると見なす」というロジックを実装できます。
于 2012-12-30T01:13:09.340 に答える