微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 uWebSockets.js 中获取套接字路径?

如何解决如何在 uWebSockets.js 中获取套接字路径?

在基于 uWebSocket.js 的服务器上,我使用的是参数化路径,如 /socket/:name

如何捕获实际使用的路径?

例如,如果套接字连接到 /socket/one,我希望能够提取 one 字符串,或者至少获取路径以便我可以手动提取路径参数.

解决方法

根据this comment计算出来的。在此处复制粘贴解决方案。您需要使用 ws 升级处理程序来传递来自原始 http 请求的值:

// pass values from ws upgrade handler
uws.App().ws('/',{
   upgrade: (res,req,context) => {
      res.upgrade(
         { ip: res.getRemoteAddressAsText() },// 1st argument sets which properties to pass to ws object,in this case ip address
         req.getHeader('sec-websocket-key'),req.getHeader('sec-websocket-protocol'),req.getHeader('sec-websocket-extensions'),// 3 headers are used to setup websocket
         context // also used to setup websocket
      )
   },open: ws => {
      console.log(ws.ip)
   }
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。