将数据添加到socket.io套接字对象
我想在连接上添加一些自定义的信息到我的套接字对象,以便当我断开套接字,我可以读取自定义信息。
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); });
请注意,这只是一方(客户端或服务器)。 显然你不能在没有通信的情况下在客户端和服务器之间共享数据(这就是你的例子所build议的)。
如果您设置它们,浏览器中的套接字和服务器中的套接字将不会共享相同的属性。 基本上你只在客户端(这是在你的浏览器内存不在服务器上)设置数据。
- LTI使用Node.js启动身份validation
- 使用Node GitHub API在本地克隆远程回购
- 如何在Node中使用variables名创buildMongo Collection?
- Nodejs +需要instanceof行为
- Koa正在执行两次每个请求?
- 未findSocket.io.js(node.js + express + socket.io)
- heroku错误:ENOENT,stat'/app/build/index.html'
- Express 4 Multer / req.body和res.json未定义
- 如何通过node.js与socket.io获取请求数据并expression?