Google está empenhada em fazer avançar a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

canais de dados

O padrão WebRTC também cobre uma API para enviar dados arbitrários sobre um RTCPeerConnection . Isso é feito chamando createDataChannel() em um RTCPeerConnection objeto, que retorna um RTCDataChannel objeto.

 const peerConnection = new RTCPeerConnection(configuration);
const dataChannel = peerConnection.createDataChannel();
 

O ponto remoto pode receber canais de dados, ouvindo para o datachannel evento no RTCPeerConnection objeto. O evento recebido é do tipo RTCDataChannelEvent e contém um channel propriedade que representa o RTCDataChannel ligado entre os pares.

 const peerConnection = new RTCPeerConnection(configuration);
peerConnection.addEventListener('datachannel', event => {
    const dataChannel = event.channel;
});
 

Abrir e eventos próximos

Antes de um canal de dados pode ser usado para o envio de dados, o cliente precisa esperar até que ele foi aberto. Isso é feito por ouvir o open evento. Da mesma forma, há um close evento para ambos os lados quando se fecha o canal.

 const messageBox = document.querySelector('#messageBox');
const sendButton = document.querySelector('#sendButton');
const peerConnection = new RTCPeerConnection(configuration);
const dataChannel = peerConnection.createDataChannel();

// Enable textarea and button when opened
dataChannel.addEventListener('open', event => {
    messageBox.disabled = false;
    messageBox.focus();
    sendButton.disabled = false;
});

// Disable input when closed
dataChannel.addEventListener('close', event => {
    messageBox.disabled = false;
    sendButton.disabled = false;
});
 

mensagens

O envio de uma mensagem em um RTCDataChannel é feito chamando o send() função com os dados que deseja enviar. O data de parâmetro para esta função pode ser uma string, um Blob , um ArrayBuffer ou e ArrayBufferView .

 const messageBox = document.querySelector('#messageBox');
const sendButton = document.querySelector('#sendButton');

// Send a simple text message when we click the button
sendButton.addEventListener('click', event => {
    const message = messageBox.textContent;
    dataChannel.send(message);
})
 

A par remoto receberá mensagens enviadas em um RTCDataChannel por ouvir sobre a message evento.

 const incomingMessages = document.querySelector('#incomingMessages');

const peerConnection = new RTCPeerConnection(configuration);
const dataChannel = peerConnection.createDataChannel();

// Append new messages to the box of incoming messages
dataChannel.addEventListener('message', event => {
    const message = event.data;
    incomingMessages.textContent += message + '\n';
});