如何在 uWebSockets.js 中获取套接字路径?
Posted
技术标签:
【中文标题】如何在 uWebSockets.js 中获取套接字路径?【英文标题】:How to get the socket path in uWebSockets.js? 【发布时间】:2021-04-05 14:16:38 【问题描述】:在我基于 uWebSocket.js 的服务器上,我使用的是参数化路径,例如 /socket/:name
。
如何捕获实际使用的路径?
例如,如果套接字连接到/socket/one
,我希望能够提取one
字符串,或者至少获取路径以便我可以手动提取路径参数。
【问题讨论】:
【参考方案1】:根据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)
)
【讨论】:
以上是关于如何在 uWebSockets.js 中获取套接字路径?的主要内容,如果未能解决你的问题,请参考以下文章
如何在服务器中配置套接字 io 以从 ios 套接字获取确认(SocketIOCallback)