websocket 聊天室中私聊功能,应该就是两个用户的 client_id 之间通信吧。
那频道群聊功能呢?
翻了下别人写的 demo,都是 foreach 遍历该频道的所有 client_id 然后逐个推送,感觉好 low,那如果百人群,千人群,万人群,那服务器岂不是炸锅了,麻烦大佬指点下。
//demo 进程启动向所有客户端连接发送数据
foreach ($room_users as $key => $clientId){
if ($currentSessionId != $clientId){
$this->send($clientId, $msg);
}else{
$this->send($clientId, $msg_my);
}
}