我试图在连接时向我的套接字对象添加一些自定义信息,这样当我断开套接字时,我可以读取该自定义信息。
IE:
// (Client)
socket.on('connect', function(data){
socket.customInfo = 'customdata';
});
// (server)
socket.on('disconnect', function () {
console.log(socket.customInfo);
});
最佳答案
因为它是 JavaScript,您可以自由地向任何对象添加属性(就像您所做的那样)。然而 socket.io 确实为您提供了一种内置的方式来做到这一点(因此您不必担心命名冲突):
socket.set('nickname', name, function () {
socket.emit('ready');
});
socket.get('nickname', function (err, name) {
console.log('Chat message by ', name);
});
请注意,这只是一方面(客户端或服务器)。显然,如果没有通信,您就无法在客户端和服务器之间共享数据(这就是您的示例所暗示的)。
浏览器中的socket 和服务器中的socket 如果您设置它们,它们将不会共享相同的属性。 基本上你只在客户端设置数据(在你的浏览器内存中而不是在服务器上)。
关于node.js - 向 socket.io 套接字对象添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17351881/