在Socket.IO,是“心跳”,可以用来触发其他动作的事件?(In Socket.IO, is &

2019-07-30 09:27发布

这确切的代码不能正常工作,但是,我希望类似的东西是:

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

是这样的可能吗? 我的意思是,我知道我可以只是做一个不同的功能触发每一个,比方说,使用的setInterval15秒:

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

但由于心跳在此区间已经运行,为什么不利用呢?

在任何情况下,任何见解将不胜感激。

Answer 1:

我想,我看到你想要做什么。 有一些暴露的事件,你可以点击这里- Socket.io事件的列表 -但没有“心跳”事件,你可以在设定的间隔进军火。

你是在正确的轨道与第二一段代码上 -

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

而在客户端 -

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


文章来源: In Socket.IO, is 'heartbeat' an event that can be used to trigger other actions?