--- title: RTCDataChannel slug: Web/API/RTCDataChannel tags: - Compatibilidade - Navegadores - Referencia translation_of: Web/API/RTCDataChannel ---

{{APIRef("WebRTC")}}{{SeeCompatTable}}

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 {{domxref("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 {{domxref("RTCPeerConnection")}}'s {{domxref("RTCPeerConnection.createDataChannel", "createDataChannel()")}}.  O interlocutor que está sendo convidado a trocar dados recebe um evento {{event("datachannel")}} (que possui o tipo {{domxref("RTCDataChannelEvent")}}) para informá-lo de que o canal de dados foi adicionado à conexão.

{{InterfaceOverview("WebRTC")}}

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
{{ SpecName('WebRTC 1.0', '#idl-def-RTCDataChannel', 'RTCDataChannel') }} {{ Spec2('WebRTC 1.0') }} Especificação inicial

Compatibilidade do navegador

{{ CompatibilityTable }}

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico {{ CompatVersionUnknown }} {{ CompatGeckoDesktop(22) }} [1] {{ CompatNo }} {{ CompatVersionUnknown }} {{ CompatUnknown }}
onbufferedamountlow {{CompatChrome(56)}} {{ CompatNo }} {{ CompatNo }} {{CompatOpera(43)}} {{ CompatNo }}
Característica Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatChrome(29)}} {{CompatChrome(29)}} {{ CompatGeckoMobile(22) }} [1] {{ CompatNo }} {{ CompatVersionUnknown }} {{ CompatNo }}
onbufferedamountlow {{CompatChrome(56)}} {{CompatChrome(56)}} {{ CompatNo }} {{CompatUnknown}} {{CompatOperaMobile(43)}} {{CompatUnknown}}

[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