在Now.js中的会话支持
Now.js报价:
只需在nowjs.initialize中传递connect或express http服务器,并且this.user.session应该可用。
所以:
express = require 'express' app = module.exports = express.createServer() connect = require 'connect' nowjs = require 'now' everyone = nowjs.initialize(app)
这个用户的输出是:
{ clientId: '353725111301231610', cookie: { 'connect.sid': 's0meC00k1e1nF0rm4ti0n' }, session: undefined }
任何想法为什么会议是不确定的?
我遇到了这个问题,结果发生了,因为我在configurationexpress之前正在初始化NowJS。
app.configure(function(){ ... app.use(express.cookieParser()); app.use(express.session({ secret: "my_key", store: redisStore })); app.use(app.router); }); var everyone = nowjs.initialize(app); //must be defined after app.configure
有一点需要注意的是,会话不会被设置,直到向服务器发出请求,所以如果服务器被重置,客户端套接字将重新连接,但会话将不确定,直到浏览器刷新页面。
我设法find一个解决scheme(CoffeeScript),为每个“每个人” – 请求:
self = this sid = decodeURIComponent(this.user.cookie['connect.sid']) sessionStore.get sid, (err, session) -> self.user.session = session <<more code here>>
任何方式直接到this.user.session?