Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取握手会话Node.js时出现中间件错误_Javascript_Node.js_Express - Fatal编程技术网

Javascript 获取握手会话Node.js时出现中间件错误

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

我在让socket.io模块中的handshake.session与一个简单的示例一起正常工作时遇到了中间件问题

-我的cod有点错误 如何解决

-请你只需要 获取握手会话

谢谢

我只是想让这个例子起作用:

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);
});