【发布时间】:2013-09-06 09:15:23
【问题描述】:
有没有办法通过 socket.io 发出消息,同时排除一些套接字 id? 我知道房间的存在,但这对我来说是禁忌。
如果我正在尝试的事情是不可能的,我应该在这两件事之间做些什么:
a) 遍历我想要发送消息的所有用户(实际上,除了 1 之外的所有用户)并为每个套接字执行发射
或
b) 只需将消息发送给每个人,然后在客户端做一些骇人听闻的事情来“忽略”消息。
编辑:我无法进行广播,因为消息是从服务器端生成的(因此没有客户端交互)。
【问题讨论】:
-
这正是房间的设计目的。你知道一个用户可以同时出现在多个房间吗?在 a/b 之间进行选择取决于安全级别,以防用户被完全禁止查看消息,b) 它可能更容易完成并且在性能方面:您不必提供的客户端任务**** 关于。所以我会选择 b)。
-
如果你绝对不能向用户显示味精..然后去a......如果用户可以在网络流中看到它......比b可能更容易跨度>
-
是的,我知道一个客户可以在多个房间中,但问题是:我必须创建与我拥有的客户一样多的房间(因为我需要向所有人发送消息,除了一次一个不同的用户),我真的不确定它的性能。另一方面,客户端的东西看起来很麻烦:(
-
这样的事情在 2019 年仍然没有出现,造成了很多痛苦。
标签: javascript node.js socket.io