使用express和socket.io时,如何在socket中获得控制器中赋值的session
控制器部分代码:req.session.username =****; app.js部分代码:io.of(/chat).on(connection,function(socket){ //获得req.session.username的值 }) 请问怎么获得到
6 回复
目前还没有找到方法,可以直接在服务器上获取session值的方法
不过话要说话来,因为你刷新一次页面,都会进行一次socket的连接
那么当客户端连接服务器的时候,都会触发socket.io的connection事件
你可以把你session中的值,赋值给一个javascript变量,然后连接的时候会以json格式发送到
服务器,这样你在代码里就可以取到当前session的值了
但我想做的是:“用户”在控制器渲染的页面中提交用户的名字给app.js,然后app.js中分发这个名字给所有的人,按你所说的话,用户就可以自己随意指定自己的名字了。我实际的应用场景是:在聊天室中,用户发一个消息,其它人会看到是“谁”发的。是不是我这样做有问题呢?
据说牛人很多,咋没有能回答这么常见问题的人儿捏?
socket.io入门 你看看这篇能不能解决你的问题?
io.set(‘authorization’,callback)
一句话,好帖,我今天也在困扰这个,一楼的方法不错