と を使用したチャット機能を持つ PHP アプリケーションがnodejs
ありsocket.io
ます。ここで行う必要があるのは、ユーザーが 15 分以上休眠している場合にユーザーをログアウトすることです。
セッションは、PHP アプリケーションとNodejs
サーバーの間で共有されます。したがってnodejs
、サーバーは、ユーザーが最後にログインしたのはいつか、または最後のアクティビティがいつだったのかを知っています。
コマンドを socket.io クライアントに送信することを考えlogoff
ています。ハートビートとクライアントからのメッセージを区別できれば、非常に簡単です。
PHP アプリケーションはページのリロードまたはナビゲーションでのユーザーのアクティビティのみを認識するため、ユーザーは休眠中もチャットを続けている可能性があり、PHP アプリケーションはユーザーがチャットしているかどうかを認識できません。そのため、セッションからのユーザーの最後のアクティビティを確認しても機能しません。
ここでの主な質問は、ハートビートを 15 分以上送信している (送信していない) クライアントを特定できますか?