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.