Menu
Open source
Socket
The Socket class provides an event-driven interface for establishing TCP connections, sending and receiving data, and managing the connection lifecycle.
Constructor
new Socket(options)Creates a new TCP socket in the disconnected state. Use connect() to establish a connection.
Parameters
Properties
Events
Register handlers for these events using socket.on(). The socket supports only one listener per event. Registering a second listener replaces the first.
Methods
Example
import { Socket } from "k6/x/tcp"
export default async function () {
const socket = new Socket({ tags: { service: "echo" } })
const closed = new Promise((resolve) => {
socket.on("close", () => {
console.log("Connection closed")
resolve()
})
})
socket.on("data", (data) => {
const str = String.fromCharCode.apply(null, new Uint8Array(data))
console.log("Received:", str)
socket.destroy()
})
socket.on("error", (err) => {
console.error("Error:", err)
})
const host = __ENV.TCP_HOST || "localhost"
const port = __ENV.TCP_PORT || "8080"
await socket.connect(port, host)
console.log("Connected. State:", socket.ready_state)
await socket.write("Hello, server!")
await closed
}