如何在socket.io 1.0中存储客户端相关数据

2024-02-16

文档说 socket.io 现在不支持 .get .set

可以存储客户端相关数据吗

io.sockets.on('connection', function (client) {
    client.on('data', function (somedata) {            
        client['data'] = somedata;
    });    
});

如果我需要多个节点?


是的,给socket.io添加属性就可以了socket目的。您应该小心,不要使用可能与内置属性或方法冲突的名称(我建议添加前导下划线或使用某种名称前缀来命名它们)。但套接字只是一个 Javascript 对象,只要不与现有属性发生任何冲突,您就可以自由地向其中添加这样的属性。

还有其他方法可以使用socket.id作为您自己的数据结构的关键。

var currentConnections = {};
io.sockets.on('connection', function (client) {
    currentConnections[client.id] = {socket: client};
    client.on('data', function (somedata) {  
        currentConnections[client.id].data = someData; 
    });    
    client.on('disconnect', function() {
        delete currentConnections[client.id];
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在socket.io 1.0中存储客户端相关数据 的相关文章

随机推荐