2012-07-11 42 views
9

這個確切的代碼不能正常工作,但是,我希望類似的東西是:在Socket.IO中,'心跳'是一個可用於觸發其他操作的事件嗎?

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); 
}); 

但由於心跳在此區間已經運行,爲什麼不利用呢?

無論如何,任何洞察力將不勝感激。

回答

9

我想我明白你想要做什麼。有幾個暴露的事件,你可以在這裏檢查 - list of Socket.io events - 但沒有「心跳」事件,你可以在設定的時間間隔內觸發。

你是在正確的軌道與第二一段代碼上 -

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

而且在客戶端 -

socket.on('heartbeat', function(data) { 
    console.log(data); 
}) 
相關問題