Menu
Open source
Socket.connect()
Asynchronously establishes a TCP connection to a remote server. Returns a Promise that resolves when the connection is established, or rejects on failure.
Signature
// Overload 1: port and optional host
socket.connect(port, host)
// Overload 2: options object
socket.connect(options)Parameters
Overload 1
Overload 2
Returns
TLS/SSL configuration
When tls: true is set, the socket performs a TLS handshake after establishing the TCP connection. TLS settings such as certificates, verification, and cipher suites are controlled by k6’s standard
TLS configuration.
Example
import { Socket } from "k6/x/tcp"
export default async function () {
// Overload 1: connect with separate port and host
const socket = new Socket()
const closed = new Promise((resolve) => { socket.on("close", resolve) })
socket.on("error", (err) => { console.error("Error:", err) })
await socket.connect(8080, "example.com")
console.log("Connected")
socket.destroy()
await closed
// Overload 2: connect with options object and TLS
const tlsSocket = new Socket({ tags: { protocol: "tls" } })
const tlsClosed = new Promise((resolve) => { tlsSocket.on("close", resolve) })
tlsSocket.on("error", (err) => { console.error("TLS error:", err) })
await tlsSocket.connect({
port: 443,
host: "secure.example.com",
tls: true,
})
console.log("TLS connection established")
tlsSocket.destroy()
await tlsClosed
}