socket服务器配置session中间件

新手上路,请多包涵
  • 上图

描述

  • 我做了一个专门提供给前端用的socket服务器(没有关于http请求的路由和方法只有socket)。现在用‘express-socket.io-session’在socket中加入了中间件
  • 前端页面链接有一个http://localhost/?code=123这样子的code参数,这个参数是用户用来连接到socket服务器后生产出session的
  • 如图,我用的是socket.use(fn)这个作为socket的中间件,希望在方法里判断session是否存在,不存在就拿到code然后生成session

问题

  • socket.use(fn)只是对于每个socket.emit(),所以我不能在socket连接后emit一个登陆的事件(因为我试过只要是emit的都会被use在前面阻止了)
  • fn只是纯函数不能是callback(因为我需要在这个方法里面写async/await,request,mysql,redis等异步操作)
  1. 所以我要怎么获得前端的code参数?
  2. 除了socket.use(fn)有没有别的方法做中间件?因为我必须在里面写async/await。。
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题