WebSocket.addEventListener(event, handler)
Set up handler functions for various events on the WebSocket connection. You can define multiple handlers for the same event.
Parameter | Type | Description |
---|---|---|
event | string | The event name to define a handler for. |
handler | function | The function to call when the event happens. |
Event name | Description |
---|---|
open | Emitted when the connection is established. |
message | Emitted when a message is received from the server. |
ping | Emitted when a ping is received from the server. The client will automatically send back a pong . |
pong | Emitted when a pong is received from the server. |
close | Emitted when the connection is closed by the client WebSocket.close() or when the server sends the close event with code status 1000 (normal closure). |
error | Emitted when an error occurs. |
Example
A k6 script that demonstrates how to add multiple event listeners for the WebSocket message
connection event.
import { WebSocket } from 'k6/experimental/websockets';
export default function () {
const ws = new WebSocket('ws://localhost:10000');
ws.binaryType = "arraybuffer";
ws.onopen = () => {
console.log('connected');
ws.send(Date.now().toString());
};
ws.onmessage = () => {
console.log('onmessage event handler!');
};
// Multiple event handlers on the same event
ws.addEventListener('message', () => {
console.log('addEventListener event handler!');
ws.close();
});
}
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