TCP Protocol Extension for k6
This extension provides TCP socket functionality for k6 performance testing scripts, offering Promise-based APIs for network communication.
Supports event-driven programming with lifecycle events (connect, data, close, error, timeout), TLS/SSL encryption, binary data handling, and comprehensive metrics collection.
import { Socket } from 'k6/x/tcp';export default async function () { const socket = new Socket(); socket.on('data', (data) => { const response = String.fromCharCode.apply(null, new Uint8Array(data)); console.log('Received:', response.substring(0, 100)); socket.destroy(); }); socket.on('close', () => { console.log('Connection closed'); }); await socket.connect(80, 'example.com'); await socket.write('GET / HTTP/1.1\r\nHost: example.com\r\n\r\n');} Copy
import { Socket } from 'k6/x/tcp';export default async function () { const socket = new Socket(); socket.on('data', (data) => { const response = String.fromCharCode.apply(null, new Uint8Array(data)); console.log('Received:', response.substring(0, 100)); socket.destroy(); }); socket.on('close', () => { console.log('Connection closed'); }); await socket.connect(80, 'example.com'); await socket.write('GET / HTTP/1.1\r\nHost: example.com\r\n\r\n');}
TCP Protocol Extension for k6
This extension provides TCP socket functionality for k6 performance testing scripts, offering Promise-based APIs for network communication.
Supports event-driven programming with lifecycle events (connect, data, close, error, timeout), TLS/SSL encryption, binary data handling, and comprehensive metrics collection.
Example