これには、ほぼリアルタイムの実装が必要です。すべてのルーム / チャット セッションが作成されたテーブルを作成できます。次に、ユーザー テーブルにモデレーター列と現在のルーム ID 列を含めることができます。
客室表
列: ID、USER_ID、CREATED_AT、UPDATED_AT、NAME、PASSWORD、HAS_MODERATOR (bool) ....
モデレーターがルームに参加すると、「HAS_MODERATOR」フィールドを true または 1 に更新できます。次に、PHP ページまたはルートに ajax リクエストを送信して true または値を返す単純なロングポーリング スクリプトを作成できます。間違い。true が返された場合、モデレーターはまだルームにいます。それ以外の場合は、ルームを閉じて、javascript などを介して強制的にリダイレクトできます。PHP スクリプトは、has_moderator が true かどうかを単純にチェックし、さらにユーザー テーブルを調べて、すべてのモデレーターを取得し、彼らがいるルームを確認します。モデレーターが現在いるルームと、チェックしているルームを一致させます。これにより、モデレーターが会議室にいることが保証されます。
バックグラウンド PHP が完了したことを Ajax/Javascript に通知する