Open source

Send a ping. You can use ping messages to verify that the remote endpoint is responsive.


A k6 script that initiates a WebSocket connection, sends a ping, and closes it using the onopen handler. The console should log connection is alive, since the recipient should automatically emit the pong event.

import { WebSocket } from 'k6/experimental/websockets';

export default function () {
  const ws = new WebSocket('ws://localhost:10000');

  ws.onopen = () => {
    console.log('WebSocket connection established!');;

  ws.onpong = () => {
    // As required by the spec, when the ping is received, the recipient must send back a pong.
    console.log('connection is alive');

The preceding example uses a WebSocket echo server, which you can run with the following command:

$ docker run --detach --rm --name ws-echo-server -p 10000:8080 jmalloc/echo-server