6
क्या यह मेरा अस्थायी ऐप डेटा संग्रहीत करने का एक उपयुक्त तरीका है?सॉकेट.io और सत्र डेटा
socket.on('connection', function(client){
client.myappsdata = {
a: true,
b: false
}
}
क्या यह मेरा अस्थायी ऐप डेटा संग्रहीत करने का एक उपयुक्त तरीका है?सॉकेट.io और सत्र डेटा
socket.on('connection', function(client){
client.myappsdata = {
a: true,
b: false
}
}
मैं कुछ और अधिक भारी पसंद करता हूं।
छद्म कोड:
// ClientManager.js
var Manager = new function() {
this._clients = [];
this.set = function(client, data) {
this._clients[client.sessionId] = data;
};
this.get = function(client) {
return this._clients[client.sessionId];
}
};
module.exports = function() {
return Object.create(Manager);
};
// main.js
var manager = require("ClientManager")();
/* ... */
socket.on("connection", function(client) {
manager.set(client, {
/* ... */
});
}
bassically प्रत्येक ग्राहक एक sessionId
तो एक हैश कि sessionId
यह करने के लिए नहीं कैसे मैं यह कर रहा हूँ किसी भी कारण से keyed में अपने डेटा स्टोर है? – Thomas
@ उपरोक्त विधि थॉमस अधिक एक्स्टेंसिबल है। इसके अलावा मुझे यह सुनिश्चित करने के लिए सभी क्लाइंट.ओ कोड पर शिकार करना होगा कि 'क्लाइंट' ऑब्जेक्ट हर जगह चारों ओर पारित हो। मुझे क्या पता है कि क्लाइंट को संलग्न करने के लिए 'sessionId' कुंजी/हैश का उपयोग सुरक्षित है। तो अपने समाधान के साथ sessionId – Raynos
@Raynos द्वारा की गई हैश में डेटा संग्रहित करें, आपको क्लाइंट को हर जगह पास करना होगा, क्योंकि दोनों प्राप्त करने और सेट विधियों के पास क्लाइंट ऑब्जेक्ट पहले पैरामीटर के रूप में है, है ना? यही है, आईएमओ, सामान्य और टालने योग्य नहीं, क्योंकि हमें डेटा प्राप्त करने के लिए ग्राहक का संदर्भ प्राप्त करना होगा। – Qlimax