1

奇妙な問題があり、何が起こっているのかわかりません。どういうわけか、開始時にセッションが redis に保存されなくなりましたsocket.ioが、コメントアウトすると機能しsocket.ioます。コードはここにあります: 何も変わっていません。このコードは、db クラッシュ後に動作を停止しました。アプリを再度実行しようとすると、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