我对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。)可以知道套接字当前在哪个页面上?如果是这样,怎么样?
2.。)我如何与io.on(...)中的信息进行交互?
我尝试过使用socket.io和express的会话中间件,但我似乎无法工作。我很确定使用会话是最好的方法,但我不知道如何实现它们。有关设置可通过不同页面访问的会话的任何建议也很不错。
谢谢!
答案 0 :(得分:0)
你必须使用快速会话和握手:
sock.on('your_socket_name', function (data) {
sock.handhsake.session.name = data.name;
sock.handshake.session.save();
});
通过此链接,它一定会帮助您: