Node.js 仅将事件发送到具有Socket.io的文件室组合中的客户端
假设我在Node.js应用程序和Socket.IO中有一组不同运动的房间(“足球”、“篮球”、“网球”…)和一组城市房间(“巴黎”、“伦敦”、“柏林”…) 是否可以只向伦敦对足球感兴趣的人发送和举办活动? 比如:Node.js 仅将事件发送到具有Socket.io的文件室组合中的客户端,node.js,socket.io,Node.js,Socket.io,假设我在Node.js应用程序和Socket.IO中有一组不同运动的房间(“足球”、“篮球”、“网球”…)和一组城市房间(“巴黎”、“伦敦”、“柏林”…) 是否可以只向伦敦对足球感兴趣的人发送和举办活动? 比如: io.sockets.in('london').in('football').emit('event_name', data); 还是糟糕的设计 提前感谢。您可以通过多种方式解决此问题 您可以拥有房间,并且想要收听足球赛事 io.sockets.in('london').emit(
io.sockets.in('london').in('football').emit('event_name', data);
还是糟糕的设计
提前感谢。您可以通过多种方式解决此问题
- 您可以拥有房间,并且想要收听
赛事足球
io.sockets.in('london').emit('football',/*data*/)
- 如果应用程序使用
或/london
你可以在('football').emit('update'),/*data*/中执行('/london')的io.in('football')。这意味着在route/london/football
in room/london
中发出一个football
事件。在我看来,它的速度稍微快一点,因为它不会将许多用户分组到一个房间中,而是使用名称空间来处理emit事件更新
- 每个城市和兴趣的房间。
这是一个特定城市和体育项目的房间。io.sockets.in('london:football')
这个房间里的每个人都可以了解足球运动的最新情况