Javascript WebSocket地址可以携带参数吗?

Javascript WebSocket地址可以携带参数吗?,javascript,html,node.js,websocket,Javascript,Html,Node.js,Websocket,ws://myserver.com/path?param=1是有效的WebSocket地址吗 地址http://myserver.com/path?param=1(注意它现在是http,而不是ws)可以正常工作,但我无法在浏览器上使用它。ws://myserver.com/path?param=1是有效的WebSocket URI。但是,您的WebSocket服务器应用程序访问路径和查询字符串的方式将因您使用的WebSocket服务器框架而异 如果您使用的是Node.js库,那么在您的webso

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


地址
http://myserver.com/path?param=1
(注意它现在是
http
,而不是
ws
)可以正常工作,但我无法在浏览器上使用它。

ws://myserver.com/path?param=1
是有效的WebSocket URI。但是,您的WebSocket服务器应用程序访问路径和查询字符串的方式将因您使用的WebSocket服务器框架而异

如果您使用的是Node.js库,那么在您的websocket连接中,对象将具有完整路径,查询字符串位于
upgradeReq.url

例如:

wss.on('connection', function(ws) {
    console.log("url: ", ws.upgradeReq.url);
};

将打印
url:/path?param=1
当您连接到
ws://myserver.com/path?param=1

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

wss.on("connection", (ws, req) => {
   console.log(`Conn Url ${req.url}`);
});

url可以是任何形式。为什么您要尝试使用
http:
方案访问WebSocket地址?@apsillers我没有,我很惊讶wscat允许我这么做。这是为了什么?是否要使用预定义参数建立WS连接?另一个解决方案是在客户端发送给服务器的初始消息中包含该参数。如何在初始消息中包含参数?如何在.jsp页面中传递参数?只需注意:您可以删除使用update:upgradeReq属性。请参阅与最新ws一起使用。连接回调现在有另一个参数——req。[code]wss.on(“连接”,(ws,req)=>{console.log(
Conn Url${req.Url}
);});[/code]