WebRTC - API de RTCDataChannel

WebRTC no solo es bueno para transferir secuencias de audio y video, sino también cualquier dato arbitrario que podamos tener. Aquí es donde entra en juego el objeto RTCDataChannel.

API RTCDataChannel

Propiedades

  • RTCDataChannel.label (read only) - Devuelve una cadena que contiene el nombre del canal de datos.

  • RTCDataChannel.ordered (read only) - Devuelve verdadero si el orden de entrega de los mensajes está garantizado o falso si no está garantizado.

  • RTCDataChannel.protocol (read only) - Devuelve una cadena que contiene el nombre del subprotocolo utilizado para este canal.

  • RTCDataChannel.id (read only) - Devuelve una identificación única para el canal que se estableció en la creación del objeto RTCDataChannel.

  • RTCDataChannel.readyState (read only)- Devuelve la enumeración RTCDataChannelState que representa el estado de la conexión. Los posibles valores -

    • connecting- Indica que la conexión aún no está activa. Este es el estado inicial.

    • open - Indica que la conexión se está ejecutando.

    • closing- Indica que la conexión está en proceso de cerrarse. Los mensajes en caché están en proceso de ser enviados o recibidos, pero no se acepta ninguna tarea recién creada.

    • closed - Indica que la conexión no se pudo establecer o se ha cerrado.

  • RTCDataChannel.bufferedAmount (read only)- Devuelve la cantidad de bytes que se han puesto en cola para su envío. Esta es la cantidad de datos que aún no se han enviado a través de RTCDataChannel.send ().

  • RTCDataChannel.bufferedAmountLowThreshold- Devuelve el número de bytes en los que RTCDataChannel.bufferedAmount se toma como bajo. Cuando RTCDataChannel.bufferedAmount disminuye por debajo de este umbral, se activa el evento bufferedamountlow.

  • RTCDataChannel.binaryType- Devuelve el tipo de datos binarios transmitidos por la conexión. Puede ser "blob" o "arraybuffer".

  • RTCDataChannel.maxPacketLifeType (read only) - Devuelve un corto sin firmar que indica la longitud en milisegundos de la ventana cuando la mensajería está en modo no confiable.

  • RTCDataChannel.maxRetransmits (read only) - Devuelve un corto sin firmar que indica el número máximo de veces que un canal retransmitirá datos si no se entregan.

  • RTCDataChannel.negotiated (read only) - Devuelve un booleano que indica si el canal ha sido negociado por el agente de usuario o por la aplicación.

  • RTCDataChannel.reliable (read only) - Devuelve un booleano que indica que la conexión puede enviar mensajes en modo no confiable.

  • RTCDataChannel.stream (read only) - Sinónimo de RTCDataChannel.id

Controladores de eventos

  • RTCDataChannel.onopen- Este controlador de eventos se llama cuando se activa el evento abierto. Este evento se envía cuando se ha establecido la conexión de datos.

  • RTCDataChannel.onmessage- Este controlador de eventos se llama cuando se activa el evento de mensaje. El evento se envía cuando hay un mensaje disponible en el canal de datos.

  • RTCDataChannel.onbufferedamountlow- Este controlador de eventos se llama cuando se activa el evento bufferedamoutlow. Este evento se envía cuando RTCDataChannel.bufferedAmount disminuye por debajo de la propiedad RTCDataChannel.bufferedAmountLowThreshold.

  • RTCDataChannel.onclose- Este controlador de eventos se llama cuando se activa el evento de cierre. Este evento se envía cuando se cierra la conexión de datos.

  • RTCDataChannel.onerror- Este controlador de eventos se llama cuando se activa el evento de error. Este evento se envía cuando se encuentra un error.

Métodos

  • RTCDataChannel.close() - Cierra el canal de datos.

  • RTCDataChannel.send()- Envía los datos del parámetro a través del canal. Los datos pueden ser un blob, una cadena, un ArrayBuffer o un ArrayBufferView.