繁体   English   中英

如何使用socket.io收听频道数组

[英]How to listen to an array of channels with socket.io

我正在尝试使用socket.io动态监听多个频道。

例如代替

socket.on('room1',(room1Obj)=>{...})
socket.on('room2',(room2Obj)=>{...})
...
socket.on('roomN',(roomNObj)=>{...})

是否有可能将一个房间名称包含在一个数组中,并且如果发出一条消息,并且您恰好位于该数组中的一个房间中,那么您将无法执行操作。

//This is not the syntax but something like this
socket.on([arrayOfMyRooms],(arrayOfMyRooms Obj)=>{...})

或者,我可以让服务器广播房间名称,然后在客户端上,将房间放在阵列中的用户可以采取措施。

无论性能如何,我担心这种方法无法扩展到成千上万的用户。

请告诉我是否有更好的设计方法的解决方案。 一如既往的谢谢

您可以创建一个网上论坛,并将所有用户加入该网上论坛,然后将消息广播到特定的网上论坛。

对于加入用户

socket.join(`GROUP_NAME`);

分组播放

io.sockets.in(`GROUP_NAME`).emit(`EVENT_NAME`, data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM