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);
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.