我正在尝试使用express 4.x和socket io 1.4实现会话管理,参考 这篇回答。问题在于express会话函数的第二个参数是res(response)对象,在我的路由中返回'undefined'。这个问题是否已经过时了,还是我做错了什么?
这是我的sockets.js文件。
var http = require('http');
var session = require('express-session')(
{
saveUninitialized : false,
resave:false,
secret:'secretstuff',
cookie : {
path : '/'
}
}
);
var express = require('express');
var app = express();
app.use(session)
var http_server = http.createServer(app);
var io = require('./sockets')(http_server,session);
这是我的sockets.js文件。
var Server = require('socket.io');
module.exports = function(http_server, session)
{
var io = new Server(http_server);
io.use(function(socket,next){
//socket.request.res === undefined
session(socket.request, socket.request.res,next);
})
}
这是我遇到的问题所在
Uncaught TypeError: 参数 res 是必需的
socket.request.res
,只需使用{}
,它是垃圾!!...https://github.com/socketio/socket.io/issues/2971session(socket.request, socket.request.res,next) -> session(socket.request, {},next)
- buycanna.io