栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Socket.io:命名空间,通道和联合

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Socket.io:命名空间,通道和联合

您可能正在使用房间,所以您将执行以下操作以向房间中的每个人发送

io.sockets.in('a').emit('inA', 'foo')

然后散发给大家,你可以使用

io.sockets.emit('everyone','bar');

您还可以使用名称空间:

io.of('/b').emit('inB', 'buzz');

要向除触发用户的用户之外的所有人发出信号,请使用:

io.sockets.broadcast.emit("hello");

[编辑]这是更详细的答案:

名称空间背后的想法是,它与其他名称空间(甚至全局名称空间)分开处理。可以将其视为一个全新的socket.io实例,您可以运行新的握手,新事件,授权等,而不会影响彼此的不同名称空间。

这对于说出来

/chat
以及
/tracking
连接事件具有截然不同的逻辑很有用

Socket.io为您完成所有工作,就好像它是两个单独的实例一样,但是仍然将信息限制为一个连接,这非常聪明。

可能存在一种解决方法,您可以在其中广播到所有名称空间(下面的示例)。简而言之,您不应该这样做,应该使用房间。

for (var nameSpace in io.sockets.manager.namespaces){  io.of(nameSpace).emit("messageToAll", message);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号