6

这是存储我的临时应用数据的合适方式吗?

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

1 回答 1

9

我更喜欢稍微重一点的东西。

伪代码:

// 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因此将他们的数据存储在由该 sessionId 键入的哈希中

于 2011-06-03T18:22:44.973 回答