geting握手会话Node.js中的中间件错误

时间:2015-03-03 07:21:39

标签: javascript node.js express

我遇到了Middleware的问题,即使是一个简单的例子,也可以在socket.io模块中使用handshake.session来正常工作。

1.-我在鳕鱼中有一些错误 怎么解决

2.-请只需要 得到握手会议

由于

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

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

0 个答案:

没有答案