RTCDataChannel

Experimental: Esta é uma tecnologia experimental (en-US)
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.

A interface RTCDataChannel representa um canal de rede que pode ser usado para transferências bidirecionais de dados arbitrários de ponto a ponto. Todo canal de dados está associado a RTCPeerConnection, e cada conexão de pares pode ter até um máximo teórico de 65,534 canais de dados (o limite real pode variar de navegador para navegador).

Para criar um canal de dados e pedir a um ponto remoto para se juntar a você, chame os metodos RTCPeerConnection's createDataChannel() (en-US).  O interlocutor que está sendo convidado a trocar dados recebe um evento datachannel (que possui o tipo RTCDataChannelEvent (en-US)) para informá-lo de que o canal de dados foi adicionado à conexão.

Exemplo

var pc = new RTCPeerConnection();
var dc = pc.createDataChannel("my channel");

dc.onmessage = function (event) {
  console.log("received: " + event.data);
};

dc.onopen = function () {
  console.log("datachannel open");
};

dc.onclose = function () {
  console.log("datachannel close");
};

Especificações

Especificação Status Comentário
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDataChannel' in that specification.
Candidata a Recomendação Especificação inicial

Compatibilidade com navegadores

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar! (en-US)

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) 22 (22) [1] Não suportado (Yes) ?
onbufferedamountlow 56 Não suportado Não suportado 43 Não suportado
Característica Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 29 29 22.0 (22) [1] Não suportado (Yes) Não suportado
onbufferedamountlow 56 56 Não suportado ? 43 ?

[1] A interface é chamada DataChannel e não RTCDataChannel no Firefox. No entanto, uma ligação foi implementada desde o Firefox 24 para que qualquer um dos nomes funcione.

Veja também