1

我有一个奇怪的问题,我不知道发生了什么。当我开始时,会话不再以某种方式保存到 redis 中socket.io,但是当我注释掉socket.io它们时它们会起作用。代码可以在这里找到:没什么不寻常的。此代码在数据库崩溃后停止工作。当我再次尝试运行该应用程序时,它说redis connection is already in use. 我找到并杀死了正在使用此连接的节点进程,并且我能够再次启动我的应用程序,但现在会话出现了这个问题。

var config         = require('./config')
  , express        = require('express')
  , routes         = require('./routes')
  , RedisStore     = require('connect-redis')(express)
  , sessionStore   = new RedisStore(config.redis)
  , app            = express.createServer();

app.configure(function () {
  app.use(express.static(__dirname + '/public'));
  app.use(express.cookieParser('keyboard cat'));
  app.use(express.session({
    secret: config.sessionSecret,
    key: 'express.sid',
    store: sessionStore
  }));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
})

app.configure('development', function () {
  app.use(express.errorHandler());
});

app.enable('jsonp callback');

routes.init(app);

app.listen(config.port);
console.log("listening on port " + config.port);

// socket.io
var io = require('socket.io').listen(app);
io.configure(function() {
        io.set("polling duration", 10);
        io.enable('browser client minification');
        io.enable('browser client etag');
        io.enable('browser client gzip');
        io.set('log level', 3);
        io.set('transports', ['xhr-polling']);
    }
);
4

0 回答 0