43

ws://myserver.com/path?param=1有效的 WebSocket 地址吗?

该地址http://myserver.com/path?param=1(注意它是现在http而不是ws)适用于wscat,但我无法让它在浏览器上运行。

4

2 回答 2

34

ws://myserver.com/path?param=1是一个有效的 WebSocket URI。但是,您的 WebSocket 服务器应用程序访问路径和查询字符串的方式会有所不同,具体取决于您使用的 WebSocket 服务器框架。

如果您使用的是 Node.jseinaros/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

于 2013-06-25T17:10:50.617 回答
25

要与最新的 ws 一起使用,连接回调现在有另一个参数 - 它是 req。

wss.on("connection", (ws, req) => {
   console.log(`Conn Url ${req.url}`);
});
于 2018-06-02T00:12:13.340 回答