Я использую пакет для приложения чата. Я столкнулся с проблемой, чтобы получить список пользователей онлайн. Есть способ, предложенный кем-то, что я попробовал, но безуспешно.
Код ниже для получения списка онлайн-пользователей.
/**
* Subscribe to messages
*
* @param ConnectionInterface $client
* @param string $msg
*/
public function commandSubscribe(ConnectionInterface $client, $msg)
{
$request = @json_decode($msg, true);
$client->talkId = $request['talk_id'] ?? null;
$client->userId = $request['user_id'] ?? null;
$this->clients = $client;
foreach ($this->clients as $key=>$chatClient) {
$onlineUsers[] = $chatClient->name;
}
$client->send( json_encode(['onlineUsers'=> $onlineUsers, 'room'=>$client->talkId, 'user' =>$client->userId ,'message'=> 'User added to room']) );
}
Я получаю ответ ниже:
Ответ: {"onlineUsers": {}, "room": "provider", "user": "hassan", "message": "Пользователь добавлен в комнату"}