我是 node.js 和 socket.io 的新手,所以其中一些问题可能看起来很愚蠢。话虽如此,我一直在尝试开发一个可以在不同页面之间存储用户名的应用程序。例如,我在一页上设置了我的用户名。然后我被重定向到另一个页面,但我的用户名仍然保留为套接字连接中可访问的变量。
这是我的基本服务器设置:
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.) 是否可以知道socket当前在哪个页面?如果是这样,如何?
2.) 我如何与 io.on(...) 中的信息进行交互?
我尝试过为 socket.io 和 express 使用 session 中间件,但似乎无法正常工作。我很确定使用 session 是最好的方法,但我不知道如何实现它们。关于设置可通过不同页面访问的 session 的任何建议也很好。
谢谢!
最佳答案
您必须为此使用快速 session 和握手:
sock.on('your_socket_name', function (data) {
sock.handhsake.session.name = data.name;
sock.handshake.session.save();
});
通过此链接,它一定会对您有所帮助:
关于node.js - 通过多个页面将变量保存在socket.io中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27665623/