ws://myserver.com/path?param=1
是否是有效的WebSocket地址?
地址http://myserver.com/path?param=1
(现在注意它http
而不是ws
)可以正常使用wscat
,但我无法在浏览器上运行。
答案 0 :(得分:29)
ws://myserver.com/path?param=1
是一个有效的WebSocket URI。但是,WebSocket服务器应用程序访问路径和查询字符串的方式将根据您使用的WebSocket服务器框架而有所不同。
如果您使用的是Node.js einaros/ws
库,那么在您的websocket连接对象中将包含upgradeReq.url
处查询字符串的完整路径。
例如:
wss.on('connection', function(ws) {
console.log("url: ", ws.upgradeReq.url);
};
当您连接到url: /path?param=1
时,会打印ws://myserver.com/path?param=1
。
答案 1 :(得分:3)
要使用最新的ws,连接回调现在有另一个参数 - 这是req。
wss.on("connection", (ws, req) => {
console.log(`Conn Url ${req.url}`);
});