通过多个页面保持socket.io中的variables

我对node.js和socket.io相当陌生,所以其中一些问题可能看起来很愚蠢。 据说,我一直在试图开发一个应用程序,可以在不同的页面之间存储用户名。 例如,我在一个页面上设置了我的用户名。 然后我redirect到另一个页面,但是我的用户名仍然是一个可以在套接字连接中访问的variables。

这是我的基本服务器设置:

var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/set', function(req, res){ res.sendfile('set.html'); }); app.get('/get', function(req, res){ res.sendfile('get.html'); }); io.on('connection', function(socket){ }); http.listen(3000, function(){ console.log('listening on *:3000'); }); 

我的问题是:

1.)有可能知道该sockets目前在哪个页面上? 如果是这样,怎么样?

2.)如何与io.on(…)中的信息交互?

我曾尝试使用会话中间件socket.io和expression,但我似乎无法得到任何工作。 我很确定使用会话是最好的方法,但我不知道如何实现它们。 任何有关设置可通过不同页面访问的会话的build议也会很好。

谢谢!

您必须使用快速会话和握手:

  sock.on('your_socket_name', function (data) { sock.handhsake.session.name = data.name; sock.handshake.session.save(); }); 

通过这个链接,它一定会帮助你:

https://www.npmjs.com/package/socket.io-handshake