Я предпочитаю что-то немного более тяжелое.
Псевдокод:
// 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, {
/* ... */
});
}
В основном каждый клиент имеет sessionId
, поэтому храните свои данные в хэшеключом этого идентификатора сеанса