WebRTC - APIs RTCDataChannel
WebRTC não é apenas bom para transferir streams de áudio e vídeo, mas também para quaisquer dados arbitrários que possamos ter. É aqui que o objeto RTCDataChannel entra em ação.
API RTCDataChannel
Propriedades
RTCDataChannel.label (read only) - Retorna uma string contendo o nome do canal de dados.
RTCDataChannel.ordered (read only) - Retorna verdadeiro se a ordem de entrega das mensagens é garantida ou falso se não é garantida.
RTCDataChannel.protocol (read only) - Retorna uma string contendo o nome do subprotocolo usado para este canal.
RTCDataChannel.id (read only) - Retorna um id único para o canal que é definido na criação do objeto RTCDataChannel.
RTCDataChannel.readyState (read only)- Retorna o enum RTCDataChannelState que representa o estado da conexão. Os valores possíveis -
connecting- Indica que a conexão ainda não está ativa. Este é o estado inicial.
open - Indica que a conexão está em execução.
closing- Indica que a conexão está em processo de encerramento. As mensagens em cache estão em processo de envio ou recebimento, mas nenhuma tarefa recém-criada está sendo aceita.
closed - Indica que a conexão não pôde ser estabelecida ou foi encerrada.
RTCDataChannel.bufferedAmount (read only)- Retorna a quantidade de bytes que foram enfileirados para envio. Esta é a quantidade de dados que ainda não foi enviada via RTCDataChannel.send ().
RTCDataChannel.bufferedAmountLowThreshold- Retorna o número de bytes em que RTCDataChannel.bufferedAmount é considerado baixo. Quando o RTCDataChannel.bufferedAmount diminui abaixo desse limite, o evento bufferedamountlow é disparado.
RTCDataChannel.binaryType- Retorna o tipo de dados binários transmitidos pela conexão. Pode ser “blob” ou “arraybuffer”.
RTCDataChannel.maxPacketLifeType (read only) - Retorna um curto sem sinal que indica a duração em milissegundos da janela quando a mensagem está indo em modo não confiável.
RTCDataChannel.maxRetransmits (read only) - Retorna um curto sem sinal que indica o número máximo de vezes que um canal retransmitirá dados se não for entregue.
RTCDataChannel.negotiated (read only) - Retorna um booleano que indica se o canal foi negociado pelo agente do usuário ou pela aplicação.
RTCDataChannel.reliable (read only) - Retorna um booleano que indica se a conexão pode enviar mensagens em modo não confiável.
RTCDataChannel.stream (read only) - Sinônimo de RTCDataChannel.id
Manipuladores de eventos
RTCDataChannel.onopen- Este manipulador de eventos é chamado quando o evento open é disparado. Este evento é enviado quando a conexão de dados é estabelecida.
RTCDataChannel.onmessage- Este manipulador de eventos é chamado quando o evento de mensagem é disparado. O evento é enviado quando uma mensagem está disponível no canal de dados.
RTCDataChannel.onbufferedamountlow- Este manipulador de eventos é chamado quando o evento bufferedamoutlow é disparado. Este evento é enviado quando RTCDataChannel.bufferedAmount diminui abaixo da propriedade RTCDataChannel.bufferedAmountLowThreshold.
RTCDataChannel.onclose- Este manipulador de eventos é chamado quando o evento close é disparado. Este evento é enviado quando a conexão de dados é encerrada.
RTCDataChannel.onerror- Este manipulador de eventos é chamado quando o evento de erro é disparado. Este evento é enviado quando um erro é encontrado.
Métodos
RTCDataChannel.close() - Fecha o canal de dados.
RTCDataChannel.send()- Envia os dados do parâmetro pelo canal. Os dados podem ser um blob, uma string, um ArrayBuffer ou um ArrayBufferView.