是否有与 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。