मैंने एक साधारण वेब एप्लिकेशन बनाया है जो socket.io का उपयोग कर node.js सर्वर के माध्यम से कुछ संचार करता है।क्या socket.io फिर से कनेक्ट कनेक्ट कनेक्ट करता है?
जब कोई उपयोगकर्ता कनेक्ट करता है, नोड वापस जानकारी को संचारित करता है जो क्लाइंट को कुछ घटनाओं की सदस्यता लेने के लिए कहता है। यह ठीक काम करता है।
लेकिन यदि आप ब्राउज़र को निष्क्रिय सेट करते हैं, तो ग्राहक दो बार ईवेंट की सदस्यता लेता है। सदस्यता प्रक्रिया इस तरह काम करता है:
socket.on('adduser', function(data)
<snip>
socket.emit('nodeinfo', {node_id: NODE_ID});
socket.emit('update', {msg: 'you are connected'});
सॉकेट:
एक उपयोगकर्ता Node.js एक 'adduser' संदेश
दो प्रमुख चीजें हैं जो कि समारोह में hapen हो जाता है जोड़ता है जब ऐसा कर रहे हैं। उत्सर्जित करें ('nodeinfo') क्लाइंट को घटनाओं की सदस्यता लेने के लिए संकेत देता है।
तो ग्राहक
socket.on('nodeinfo', function(data) { ... }
है बात, console.log() फ़ंक्शन करें 'adduser' में से कोई भी नोड तरफ फिर से बुलाया हो यह कभी नहीं कहते हैं कि दो बार 'आप जुड़े हुए हैं' है। ऐसा होने वाली एकमात्र चीज है node.js nodeinfo को फिर से उत्सर्जित करता है (या तो क्लाइंट सोचता है) जिससे ग्राहक फिर से सदस्यता लेता है।
क्या कोई मुझे बता सकता है कि socket.io काम में फिर से कनेक्ट कैसे होता है और यह कैसे हो सकता है?
हां। नतीजे के साथ मैं बस ध्यान देता हूं कि हमारे ऐप के साथ क्या होता है। धन्यवाद – Xin