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.