websocket发送参数连接?

时间:2018-06-15 22:12:20

标签: javascript node.js websocket

我有一个场景,我需要使用akka.http.server.websocket.periodic-keep-alive-max-idle = 10 seconds nodejs创建一个非常简单的文字聊天。

我已经完成了所有工作。

我现在需要允许用户在websocket Websocket URL中发送参数。

像这样:connection

在我的研究中,我遇到了很多类似的问题,发现我可以像上面的例子那样传递URL中的参数。

但是,他们都没有提到或解释如何在websocket = new WebSocket("ws://test-website.net:8080/?id=55");

中获取此参数(在此示例中 55
server.js

有人可以就此问题提出建议吗?

提前致谢。

3 个答案:

答案 0 :(得分:3)

在你的websocket请求处理程序中,它通常作为第一个参数传递给web套接字;传入的HTTP请求作为第二个参数传递:

webSocketServer.on('connection', function connection(ws_client_stream, incoming_request) {
  console.log(incoming_request.url);
});

从那里,您可以使用url.parse获取URL的组件,例如您感兴趣的查询字符串。

答案 1 :(得分:0)

如果您使用的是“ websocket”库,则以下代码将检索您的queryStrings:

wsServer.on('request', function(request) 
{
    console.log(request.resourceURL.query);
}

注意1:您无需在此处解析任何内容。

注2:尽管已经回答多年,但是如果人们发现上述答案更加复杂,则可以使用此答案。

答案 2 :(得分:0)

对于nodejs (websocket.js npm)中的websocket库:

autossh

link = wss:// localhost /?param = value
输出

wsServer.on('request', function(request){
    var FullURL = request.resourceURL.query;
    console.log(FullURL);
    // . . your code  . . //
}

在这里request.resourceURL检索对象

{ param : 'value' }