node.js - 在套接字 io 中定期向所有套接字发送

标签 node.js socket.io

我想知道如何定期向套接字发送消息,目前我正在这样做:

io.on('connection', function(socket){

setInterval(function () {
        socket.emit('message', variable);
}, 100);

...

然后每个用户都有一个间隔,每 100 毫秒发送一次消息。有更好的方法吗?

我也对 emit 的工作原理感到困惑:我的印象是它将消息发送到所有套接字,但是如果我只为第一个连接的套接字而不是以下套接字启动这个间隔,只有第一个套接字接收消息?

最佳答案

使用 io.emit 发射到所有连接的套接字。您仍然可以间隔一段时间执行此操作。

// Only needed if you have to do something with a specific socket
io.on('connection', handleSocket);

setInterval(() => {
    io.emit('message', variable);
}, 100);

关于node.js - 在套接字 io 中定期向所有套接字发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294150/

相关文章:

browser - 跨子域/端口 socket.io - 如何处理?

javascript - 如何将数据从 express 传递到我的 hbs View

node.js - 将node.js代码封装在函数中

node.js - 您是应该让 Redis 保持打开状态,还是在每次在 Node 中使用后打开并退出它?

node.js - RedisToGo 在 heroku 上是否可用 "locally"?

javascript - pcDuino 可以和 cylon.js 一起使用吗?

node.js - Socket.io:从一台服务器连接到另一台服务器

angularjs - 在 Protractor 测试中创建 socket.io 服务器

javascript - 我无法处理拒绝的 promise

Node.js:我已经使用 socket.IO 进行聊天,那么通过它传输网页怎么样?