にあなたはプッシャーを使用している場合、バックエンドはちょうど次の操作を実行できます。
$response = $pusher->get('/channels/presence-channel-name/users');
if($response[ 'status'] == 200) {
// convert to associative array for easier consumption
$users = json_decode($response[ 'body' ], true)[ 'users' ];
}
$userCount = count($users);
あなたはプッシャーでそれについての詳細を読むことができます。 pusher-http-php sdkにはこれに関するドキュメントもあります。
プレゼンス・チャネル上に存在するユーザのリストが channel_name
が有効なプレゼンスチャンネル名に置き換えられ/channels/[channel_name]/users
リソースを問い合わせる によって取得することができます。
これは、プレゼンスチャネルの場合、明示的にはです。
さらに、チャネル内のユーザーを追跡するには、webhooksを使用します。
ユーザがプレゼンスチャネルから を購読または購読を停止するたびに、アプリケーションに通知します。 たとえば、サーバーとすべてのアプリケーションクライアントのチャネルプレゼンス状態を に同期させることができます。
プッシャーは、次の形式で情報を使用してサーバーをヒットします:
{
"name": "member_added", // or "member_removed"
"channel": "presence-your_channel_name",
"user_id": "a_user_id"
}
このデータは、潜在的にデータベース内のテーブルに格納されているか、代わりのRedisである可能性があります。
プッシャーを使用していますか? –