A WebSocket client implementation
Symbol
WebSocket
class WebSocket
const ws = new WebSocket("ws://localhost:8080", {
headers: {
"x-custom-header": "hello",
},
});
ws.addEventListener("open", () => {
console.log("Connected to server");
});
ws.addEventListener("message", (event) => {
console.log("Received message:", event.data);
});
ws.send("Hello, server!");
ws.terminate();
- readonly bufferedAmount: number
The number of bytes of data that have been queued using send() but not yet transmitted to the network
- onmessage: null | (this: WebSocket, ev: new (type: string, eventInitDict?: MessageEventInit<T>) => MessageEvent<T>) => any
Event handler for message event
- addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void
Registers an event handler of a specific event type on the WebSocket.
@param typeA case-sensitive string representing the event type to listen for
@param listenerThe function to be called when the event occurs
@param optionsAn options object that specifies characteristics about the event listener
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): voidAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
Closes the WebSocket connection
@param codeA numeric value indicating the status code
@param reasonA human-readable string explaining why the connection is closing
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
Sends a ping frame to the server
@param dataOptional data to include in the ping frame
Sends a pong frame to the server
@param dataOptional data to include in the pong frame
- removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void
Removes an event listener previously registered with addEventListener()
@param typeA case-sensitive string representing the event type to remove
@param listenerThe function to remove from the event target
@param optionsAn options object that specifies characteristics about the event listener
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): voidRemoves the event listener in target's event listener list with the same type, callback, and options.
Transmits data to the server
@param dataThe data to send to the server
Immediately terminates the connection