2012-07-11 11 views
9

この正確なコードは動作しませんが、、それがあったように私は何かを期待していた。Socket.IOでは、「ハートビート」は他のアクションをトリガするために使用できるイベントですか?

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

は、この可能性のようなものですか?それを利用していない理由は、

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

しかし、ハートビートは、すでにこの間隔で実行されているので、私が意味する、私はちょうど、言う、のsetIntervalを使用して15秒ごとにトリガーする別の関数を作ることができます知っていますか?

いずれにしても、洞察力があれば幸いです。

答えて

9

私はあなたが何をしようとしていると思っています。ここで確認できるいくつかの公開イベント - list of Socket.io events - がありますが、設定した間隔で起動するための「ハートビート」イベントはありません。

あなたがコードの2番目の部分で正しい軌道に乗っている -

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

とクライアント側で -

socket.on('heartbeat', function(data) { 
    console.log(data); 
}) 
関連する問題