2013-06-27 6 views
5

मैं कनेक्ट पर अपने सॉकेट ऑब्जेक्ट में कुछ कस्टम जानकारी जोड़ने की कोशिश कर रहा हूं, ताकि जब मैं सॉकेट डिस्कनेक्ट करूँ, तो मैं उस कस्टम जानकारी को पढ़ सकता हूं।किसी सॉकेट.io सॉकेट ऑब्जेक्ट में डेटा जोड़ना

आईई:

// (Client) 
socket.on('connect', function(data){ 
    socket.customInfo = 'customdata'; 
}); 

// (server) 
socket.on('disconnect', function() { 
    console.log(socket.customInfo); 
}); 

उत्तर

6

चूंकि यह जावास्क्रिप्ट आप स्वतंत्र रूप से किसी भी वस्तु (तुमने किया था बस के रूप में) के लिए गुण जोड़ सकते हैं। कि यह केवल एक पक्ष (या तो ग्राहक या सर्वर) पर है

socket.set('nickname', name, function() { 
    socket.emit('ready'); 
}); 

socket.get('nickname', function (err, name) { 
    console.log('Chat message by ', name); 
}); 

नोट: हालांकि socket.io आप एक अंतर्निहित तरीका है कि ऐसा करने के लिए देता है (ताकि आप नामकरण संघर्षों के बारे में चिंता करने की ज़रूरत नहीं होगी) । स्पष्ट रूप से आप बिना संचार के क्लाइंट और सर्वर के बीच डेटा साझा नहीं कर सकते हैं (यही आपका उदाहरण सुझाता है)।

सॉकेट आपके ब्राउज़र में और सॉकेट सर्वर में एक ही गुण साझा नहीं करेंगे, तो आप उन्हें सेट। मूल रूप से आपने केवल क्लाइंट पक्ष पर डेटा सेट किया है (जो आपके ब्राउज़र मेमोरी में सर्वर पर नहीं है)।

+4

यह रिलीज 1.0 रिलीज के साथ अब करता है? – Alexis

+4

स्पष्ट रूप से नहीं। मैं socket.io का उपयोग कर रहा हूँ 1.3.4 – AlexStack

+0

मैंने संस्करण 1.5.0 का उपयोग किया, लेकिन काम नहीं करेगा! –

संबंधित मुद्दे