这个确切的代码不起作用,但是,我希望这样的东西是:
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);
});
但是由于心跳已经在这个间隔运行,为什么不利用它呢?
无论如何,我们将非常感谢任何见解。
答案 0 :(得分:9)
我认为我看到你要做的事情。您可以在这里查看一些暴露的事件 - list of Socket.io events - 但是没有“心跳”事件可以在设定的时间间隔内点击。
你正在使用第二段代码 -
setInterval(function() {
socket.emit('heartbeat', someData);
}, 5000);
在客户端 -
socket.on('heartbeat', function(data) {
console.log(data);
})