Socket.io and session data

Problem

Is this a suitable way of storing my temporary app data?

socket.on('connection', function(client){ 
client.myappsdata = {
a: true,
b: false
}
}

Problem courtesy of: Thomas

Solution

I prefer something slightly more heavy.

Pseudo-Code:

// 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 each client has a sessionId so store their data in a hash keyed by that sessionId

Solution courtesy of: Raynos

View additional discussion.