我有一个使用带有会话系统的快速框架的Node.js服务器。该程序是一个简单的1vs1游戏。为了玩,用户可以创建房间,而其他用户可以加入它以便游戏可以开始。房间ID存储在用户的会话中。
如果您查看以下代码,您将看到我如何设法在"套接字代码中访问快速会话"。这很棒,很有效。但是,我无法修改会话对象中的值。
var express = require('express');
var session = require('express-session');
var sessionMiddleware = session({
secret: 'my secret',
resave: false,
saveUninitialized: false
});
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
app.use(sessionMiddleware);
io.use(function(socket, next) {
sessionMiddleware(socket.request, socket.request.res, next);
});
io.on('connection', function(socket) {
// some stuff
socket.on('disconnect', function() {
socket.request.session.room = undefined; // this is not working
});
});
server.listen(8080);
有没有办法做我想做的事情,还是应该重新考虑房间的管理方式?
谢谢