将数据添加到socket.io对象

use*_*127 7 node.js socket.io

我有一个与上一个问题类似的问题(将数据添加到socket.io套接字对象)。我正在使用socket.io 1.3.4,并且想在连接时向套接字添加其他数据。Socket.io曾经有一个名为set的方法,允许这样做,但似乎可以更长久地工作。现在有新的方法吗?

And*_*ers 6

这些 get/set 方法似乎已在 1.0 中删除:

http://socket.io/blog/introducing-socket-io-1-0/#scalability

我认为新的做法是按照您链接的问题中的建议直接在套接字对象上设置属性。

您可以在 socket.io 的聊天示例中看到这样的示例:

https://github.com/Automattic/socket.io/blob/318d62/examples/chat/index.js#L36


Tee*_*muK 6

从 v4 开始,正确的方法是使用data属性:

this.ioServer.on('connection', async (socket) => {
  const user: IUser = socket.handshake.auth.user
  socket.data.user = user
  ...
Run Code Online (Sandbox Code Playgroud)