2012-07-11 12 views
9

इस सटीक कोड काम नहीं करता है, लेकिन, मैं कुछ उम्मीद कर रही थी जैसे कि यह था:सॉकेट.आईओ में, 'दिल की धड़कन' एक ऐसी घटना है जिसका उपयोग अन्य कार्यों को ट्रिगर करने के लिए किया जा सकता है?

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