The RTCDataChannel interface represents a network channel which can be used for bidirectional peer-to-peer transfers of arbitrary data.

MDN Reference

interface RTCDataChannel {
    binaryType: BinaryType;
    bufferedAmount: number;
    bufferedAmountLowThreshold: number;
    id: number | null;
    label: string;
    maxPacketLifeTime: number | null;
    maxRetransmits: number | null;
    negotiated: boolean;
    onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;
    onclose: ((this: RTCDataChannel, ev: Event) => any) | null;
    onclosing: ((this: RTCDataChannel, ev: Event) => any) | null;
    onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null;
    onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;
    onopen: ((this: RTCDataChannel, ev: Event) => any) | null;
    ordered: boolean;
    protocol: string;
    readyState: RTCDataChannelState;
    addEventListener<K extends keyof RTCDataChannelEventMap>(
        type: K,
        listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any,
        options?: boolean | AddEventListenerOptions,
    ): void;
    addEventListener(
        type: string,
        listener: EventListenerOrEventListenerObject,
        options?: boolean | AddEventListenerOptions,
    ): void;
    close(): void;
    dispatchEvent(event: Event): boolean;
    removeEventListener<K extends keyof RTCDataChannelEventMap>(
        type: K,
        listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any,
        options?: boolean | EventListenerOptions,
    ): void;
    removeEventListener(
        type: string,
        listener: EventListenerOrEventListenerObject,
        options?: boolean | EventListenerOptions,
    ): void;
    send(data: string): void;
    send(data: Blob): void;
    send(data: ArrayBuffer): void;
    send(data: ArrayBufferView<ArrayBuffer>): void;
}
Hierarchy
  • EventTarget
    • RTCDataChannel
Index

Properties

binaryType: BinaryType

The property binaryType on the the type of object which should be used to represent binary data received on the RTCDataChannel.

MDN Reference

bufferedAmount: number

The read-only RTCDataChannel property bufferedAmount returns the number of bytes of data currently queued to be sent over the data channel.

MDN Reference

bufferedAmountLowThreshold: number

The RTCDataChannel property bufferedAmountLowThreshold is used to specify the number of bytes of buffered outgoing data that is considered 'low.' The default value is 0.

MDN Reference

id: number | null

The read-only RTCDataChannel property id returns an ID number (between 0 and 65,534) which uniquely identifies the RTCDataChannel.

MDN Reference

label: string

The read-only RTCDataChannel property label returns a string containing a name describing the data channel.

MDN Reference

maxPacketLifeTime: number | null

The read-only RTCDataChannel property maxPacketLifeTime returns the amount of time, in milliseconds, the browser is allowed to take to attempt to transmit a message, as set when the data channel was created, or null.

MDN Reference

maxRetransmits: number | null

The read-only RTCDataChannel property maxRetransmits returns the maximum number of times the browser should try to retransmit a message before giving up, as set when the data channel was created, or null, which indicates that there is no maximum.

MDN Reference

negotiated: boolean

The read-only RTCDataChannel property negotiated indicates whether the (true) or by the WebRTC layer (false).

MDN Reference

onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null
onclose: ((this: RTCDataChannel, ev: Event) => any) | null
onclosing: ((this: RTCDataChannel, ev: Event) => any) | null
onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null
onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null
onopen: ((this: RTCDataChannel, ev: Event) => any) | null
ordered: boolean

The read-only RTCDataChannel property ordered indicates whether or not the data channel guarantees in-order delivery of messages; the default is true, which indicates that the data channel is indeed ordered.

MDN Reference

protocol: string

The read-only RTCDataChannel property protocol returns a string containing the name of the subprotocol in use.

MDN Reference

The read-only RTCDataChannel property readyState returns a string which indicates the state of the data channel's underlying data connection.

MDN Reference

Methods

  • The RTCDataChannel.close() method closes the closure of the channel.

    MDN Reference

    Returns void

  • The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

    MDN Reference

    Parameters

    • event: Event

    Returns boolean

  • The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

    MDN Reference

    Type Parameters

    Parameters

    Returns void

  • The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

    MDN Reference

    Parameters

    Returns void

  • The send() method of the remote peer.

    MDN Reference

    Parameters

    • data: string

    Returns void

  • Parameters

    • data: Blob

    Returns void

  • Parameters

    • data: ArrayBuffer

    Returns void

  • Parameters

    Returns void