मैं सत्र डेटा प्राप्त करने के लिए सॉकेट.आईओ के प्रमाणीकरण फ़ंक्शन का उपयोग करने का प्रयास कर रहा हूं। समस्या यह है कि अगर मैं अपने सत्र को लॉग आउट और नष्ट कर देता हूं, तो सॉकेट.आईओ में अभी भी पुरानी सत्र जानकारी है, जो स्पष्ट रूप से आदर्श नहीं है। कोई भी विचार जो मैं नीचे दिए गए कोड में गलत कर रहा हूं?सॉकेट.ओ प्रमाणीकरण फ़ंक्शन सत्र डेटा अपडेट नहीं कर रहा है
io.sockets.on('connection', function(socket) {
var hs = socket.handshake;
console.log('A socket with sessionID ' + hs.sessionID
+ ' connected!');
// setup an inteval that will keep our session fresh
var intervalID = setInterval(function() {
// reload the session (just in case something changed,
// we don't want to override anything, but the age)
// reloading will also ensure we keep an up2date copy
// of the session with our connection.
hs.session.reload(function() {
// "touch" it (resetting maxAge and lastAccess)
// and save it back again.
hs.session.touch().save();
});
}, 60 * 1000);
socket.on('disconnect', function() {
console.log('A socket with sessionID ' + hs.sessionID
+ ' disconnected!');
// clear the socket interval to stop refreshing the session
clearInterval(intervalID);
});
});
+1 मुझे एक ही समस्या है। यहां तक कि यदि ग्राहक की सत्र कुकी समाप्त हो जाती है या हटा दी जाती है, तो सॉकेट.आईओ कनेक्शन के पास अभी भी पुराने डेटा तक पहुंच है और मानना है कि सत्र अभी भी सक्रिय है। – dbau