session - Socket.io 和 session 数据

标签 session node.js socket.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, {
       /* ... */ 
    });
}

基本上每个客户端都有一个sessionId,因此将他们的数据存储在由该sessionId 键控的散列中

关于session - Socket.io 和 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230352/

相关文章:

python - Flask:在不使用 session 的情况下在 View 之间传递列表变量

session - koajs session - session 存储在哪里?

php - php中如何将页面重定向到同一页面

javascript - MongoDB - $set 更新或推送数组元素

asp.net - 我需要node.js来监听socket.io请求吗?

node.js - 通过多个页面将变量保存在socket.io中

node.js - Express 4路由器

php - Nginx + PHP、Node.js 和 jQuery 设置

python - 如何通过 flask 应用程序流式传输数据?

javascript - socket.io:如何从其他套接字获取套接字变量?