Javascript 获取握手会话Node.js时出现中间件错误
我在让socket.io模块中的handshake.session与一个简单的示例一起正常工作时遇到了中间件问题 -我的cod有点错误 如何解决 -请你只需要 获取握手会话 谢谢 我只是想让这个例子起作用:Javascript 获取握手会话Node.js时出现中间件错误,javascript,node.js,express,Javascript,Node.js,Express,我在让socket.io模块中的handshake.session与一个简单的示例一起正常工作时遇到了中间件问题 -我的cod有点错误 如何解决 -请你只需要 获取握手会话 谢谢 我只是想让这个例子起作用: const KEY = 'express.sid' , SECRET = 'express'; var express = require('express'), app = express() , server = require('http').createServer(app
const KEY = 'express.sid'
, SECRET = 'express';
var express = require('express'), app = express()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server)
, cookie = express.cookieParser(SECRET)
, store = new express.session.MemoryStore()
, session = express.session({secret: SECRET, key: KEY, store: store});
app.configure(function(){
app.set('view engine', 'ejs');
app.use(cookie);
app.use(session);
});
app.get("/", function(req, res){req.session.ID = "U"+2;});
server.listen(3000);
io.set('authorization', function(data, accept) {
cookie(data, {}, function(err) {
if (!err) {
var sessionID = data.signedCookies[KEY];
store.get(sessionID, function(err, session) {
if (err || !session) {
accept(null, false);
} else {
data.session = session;
accept(null, true);
}
});
} else {
accept(null, false);
}
});
});
io.sockets.on('connection', function (socket) {
var session = socket.handshake.session, id = session.ID;
console.log(id);
});