【问题标题】:What's difference between io.emit(...) and loop?io.emit(...) 和循环有什么区别?
【发布时间】:2017-06-29 17:29:22
【问题描述】:

首先,我希望你能理解我糟糕的英语水平。

我正在使用 socket.io 开发服务器,服务器包含所有客户端的“socket”变量,这些变量作为“连接”的参数给出。我想在没有'io'对象的所有功能的情况下广播'消息'。所以我打算实现这样的广播功能。

let socketList = [ ... ]; // <-- that array contains socket of client.
for (let i = 0; i < socketList.length; ++i)
    socketList[i].emit(...);

但这对我来说毫无意义。因为我不知道 io.emit 函数也一样。所以我的问题是:该代码与 io.emit(...) 相同吗?

【问题讨论】:

  • 如果socketList 包含所有连接的客户端,是的,它是一样的。
  • @BenFortune 所以你的意思是,socket.io 内部循环?我想确定一下,因为性能在我的服务器计算机中非常重要。

标签: javascript node.js socket.io


【解决方案1】:

如果您的所有客户确实都在socketList 中,那么该代码和io.emit() 将做同样的事情。如果这是关于性能,并且您不必做任何花哨的事情,例如过滤掉某些客户端,我会选择 io.emit(),这样您就不需要保留自己的 socketList。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 2011-04-01
    • 2023-03-09
    • 1970-01-01
    • 2019-10-01
    • 2015-11-13
    • 2014-05-01
    • 2021-06-28
    相关资源
    最近更新 更多