将一个变量添加到socket.io中的套接字

Jos*_*emi 1 javascript node.js socket.io

我想将一个被调用的对象关联player到不同的套接字.所以我认为最简单的方法是做到这一点socket.prototype.player = whatever;

但无论我尝试原型,我都会不断定义.任何人都知道如何实现这一目标?还有IDK,如果这是不好的做法.让我知道.

jfr*_*d00 8

socket.io socket只是一个Javascript对象.您可以直接向其添加任何属性,而不是通过原型.

因此,在服务器上,您可以socket直接向对象添加新属性:

io.on('connection', function(socket) {
    // some code to get the name for this user
    var name = .....
    socket.player = name;
});
Run Code Online (Sandbox Code Playgroud)

像这样的属性不与连接的另一端共享 - 它们是此特定对象的本地对象,仅在连接的这一侧可用.