菜单
文档breadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow k6/wsbreadcrumb arrow connect( url, params, callback )
开源

connect( url, params, callback )

注意

存在一个 API 更好、更符合标准的模块。

新的 k6/experimental/websockets API 部分实现了 WebSockets API living standard

如果可能,我们建议使用新的 API。它使用全局事件循环,以与其他 k6 API 保持一致,并具有更好的性能。

启动到远程主机的 WebSocket 连接。

调用 connect 将阻塞 VU 最终化,直到 WebSocket 连接关闭。与主函数(export default function() { ... })持续循环不同,每个 VU 将暂停,侦听异步事件并执行其事件处理程序,直到连接关闭。

以下事件可以关闭连接:

  • 远程主机关闭事件。
  • Socket.close().
  • 基于测试配置或 CLI 命令的 k6 VU 中断。
参数类型描述
urlstring请求 URL(例如“ws://echo.websocket.org”)。
paramsobject包含附加请求参数的 Params 对象。
callbackfunctionWebSocket 连接启动时将调用的回调函数。一个 Socket 对象将传递给该函数,该对象可用于在 WebSocket 连接上发生事件时设置回调等。

返回值

类型描述
ResponseHTTP Response 对象。

示例

JavaScript
import ws from 'k6/ws';

export default function () {
  const url = 'ws://echo.websocket.org';
  const resp = ws.connect(url, null, function (socket) {
    socket.on('open', function () {
      console.log('WebSocket connection established!');
      socket.close();
    });
  });
}