Interface WebSocket

    Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection.

    MDN Reference

    interface WebSocket {
        binaryType: BinaryType;
        bufferedAmount: number;
        CLOSED: 3;
        CLOSING: 2;
        CONNECTING: 0;
        extensions: string;
        onclose: ((this: WebSocket, ev: CloseEvent) => any);
        onerror: ((this: WebSocket, ev: Event) => any);
        onmessage: ((this: WebSocket, ev: MessageEvent<any>) => any);
        onopen: ((this: WebSocket, ev: Event) => any);
        OPEN: 1;
        protocol: string;
        readyState: number;
        url: string;
        addEventListener<K>(type: K, listener: ((this: WebSocket, ev: WebSocketEventMap[K]) => any), options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
        close(code?: number, reason?: string): void;
        dispatchEvent(event: Event): boolean;
        removeEventListener<K>(type: K, listener: ((this: WebSocket, ev: WebSocketEventMap[K]) => any), options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
        send(data:
            | string
            | ArrayBufferLike
            | ArrayBufferView
            | Blob): void;
    }
    Hierarchy

    Properties

    binaryType: BinaryType

    Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:

    Can be set, to change how binary data is returned. The default is "blob".

    MDN Reference

    bufferedAmount: number

    Returns the number of bytes of application data (UTF-8 text and binary data) that have been queued using send() but not yet been transmitted to the network.

    If the WebSocket connection is closed, this attribute's value will only increase with each call to the send() method. (The number does not reset to zero once the connection closes.)

    MDN Reference

    CLOSED: 3
    CLOSING: 2
    CONNECTING: 0
    extensions: string

    Returns the extensions selected by the server, if any.

    MDN Reference

    onclose: ((this: WebSocket, ev: CloseEvent) => any)
    onerror: ((this: WebSocket, ev: Event) => any)
    onmessage: ((this: WebSocket, ev: MessageEvent<any>) => any)
    onopen: ((this: WebSocket, ev: Event) => any)
    OPEN: 1
    protocol: string

    Returns the subprotocol selected by the server, if any. It can be used in conjunction with the array form of the constructor's second argument to perform subprotocol negotiation.

    MDN Reference

    readyState: number

    Returns the state of the WebSocket object's connection. It can have the values described below.

    MDN Reference

    url: string

    Returns the URL that was used to establish the WebSocket connection.

    MDN Reference

    Methods

    • Appends 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.

      MDN Reference

      Type Parameters

      Parameters

      Returns void

    • Appends 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.

      MDN Reference

      Parameters

      Returns void

    • Closes the WebSocket connection, optionally using code as the the WebSocket connection close code and reason as the the WebSocket connection close reason.

      MDN Reference

      Parameters

      • Optionalcode: number
      • Optionalreason: string

      Returns void

    • 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.

      MDN Reference

      Parameters

      Returns boolean

    • Transmits data using the WebSocket connection. data can be a string, a Blob, an ArrayBuffer, or an ArrayBufferView.

      MDN Reference

      Parameters

      Returns void