Socket.setInterval(callback, interval)
注意
存在一个更好且标准的模块 API。
新的 k6/experimental/websockets API 部分实现了 WebSockets API 规范。
如果可能,建议使用新的 API。它使用全局事件循环,与其他 k6 API 保持一致,并提供更好的性能。
在 WebSocket 连接打开期间,重复调用一个函数。
参数 | 类型 | 描述 |
---|---|---|
callback | 函数 | 每隔 interval 毫秒调用的函数。 |
interval | 数字 | callback 两次调用之间的毫秒数。 |
示例
import ws from 'k6/ws';
import { check } from 'k6';
export default function () {
const url = 'ws://echo.websocket.org';
const params = { tags: { my_tag: 'hello' } };
const res = ws.connect(url, params, function (socket) {
socket.on('open', function open() {
console.log('connected');
socket.setInterval(function timeout() {
socket.ping();
console.log('Pinging every 1sec (setInterval test)');
}, 1000);
});
socket.on('pong', function () {
console.log('PONG!');
});
});
check(res, { 'status is 101': (r) => r && r.status === 101 });
}