相关疑难解决方法(0)

Socket.io:Namespaces,channels&co

我有一个Node.js Web服务器在顶部运行套接字服务器,它是使用Socket.io创建的.基本上,这是有效的.

我现在想要实现的是连接的客户端是成组聚集的.因此,可能有一些客户构成组A和组成组B的其他一些客户.他们应通过寻址特定URL来选择他们所属的组,localhost:3000/A或者localhost:3000/B.

在Socket.io中,我现在想要向组A中的所有客户端或组B中的所有客户端或所有客户端发送消息,而不查看他们的组.

它基本上就像与房间聊天一样,无论他在哪个房间,您都可以为特定房间内的所有客户或任何客户提供消息.

使用Socket.io设计这样一个系统的最佳方法是什么?

到目前为止,我一直在尝试使用命名空间,这基本上可以用于创建组A和B,但是我失去了向所有客户端发送消息的能力,无论他们在哪个房间.至少我不知道该怎么做这个.

我该如何塑造这个?我应该寻找哪些合适的术语?

更新:根据@sdedelbrock的答案,我可以使用命名空间或房间:

  • 如果使用命名空间,我无法向所有人发送,无论其命名空间如何.这是因为它io.sockets是一个快捷方式io.of(''),当然它不再与命名空间匹配.
  • 这意味着我应该使用房间,但我想知道房间和命名空间之间的语义差异是什么.

简而言之:为什么同一个(?)想法有两个概念?

namespaces channel node.js socket.io

29
推荐指数
1
解决办法
2万
查看次数

标签 统计

channel ×1

namespaces ×1

node.js ×1

socket.io ×1