1

是否有与 Stomp.over 等效的后端(nodejs、java 等)?我想模仿如下客户端代码:

var socket = null;
var stompClient = null;
var connectCallback = function() {
  console.log(stompClient.ws._transport.url); //get autogenerated url and session id here
}
var websocketConnect = function(){
  socket = new SockJS("/websocket");
  stompClient = Stomp.over(socket);
  stompClient.connect({}, connectCallback);
}
websocketConnect();
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.4.0/sockjs.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"></script>

这是为了获取下面Stomp.over返回的url,尤其是生成的sessionid:

wss://<base domain>/websocket/<sessionid>/

我想用它在 k6 中进行测试,因为它需要一个 wss url:

ws.connect(url, null, function (socket) {...}

这样做的原因是我想产生不同的 url/会话,模仿不同的用户打开他们的浏览器并连接到一个基本的 websocket url,然后使用 k6 向每个用户发送/接收数据,从而对其进行负载测试。

我曾尝试使用节点库,例如 stompjs 和 sockjs-client,但它的行为不同,生成的对象没有附加 sessionid 或类似的,两者都只在其构造函数中使用完整的 url。

4

0 回答 0