【问题标题】:In Socket.IO, is 'heartbeat' an event that can be used to trigger other actions?在 Socket.IO 中,'heartbeat' 是一个可用于触发其他操作的事件吗?
【发布时间】:2012-07-12 09:11:28
【问题描述】:

这个确切的代码不起作用,但是,我希望是这样的:

io.sockets.on('connection', function(socket) {
    socket.on('heartbeat', function() {
        // Do something here...
    });
});

这样的事情可能吗?我的意思是,我知道我可以使用 setInterval 创建一个不同的函数,例如每 15 秒触发一次:

io.sockets.on('connection', function(socket) {
    setInterval(function() {
        // Do something
    },15000);
});

但既然心跳已经在这个间隔运行,为什么不利用它呢?

无论如何,任何见解都将不胜感激。

【问题讨论】:

    标签: node.js websocket socket.io heartbeat


    【解决方案1】:

    我想我明白你在做什么。您可以在此处查看一些公开的事件 - list of Socket.io events - 但没有“心跳”事件可以让您按设定的时间间隔触发。

    第二段代码你走在了正确的轨道上 -

    setInterval(function() {
        socket.emit('heartbeat', someData);
    }, 5000);
    

    在客户端 -

    socket.on('heartbeat', function(data) {
        console.log(data);
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-08
      • 2013-06-08
      • 2021-01-13
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多