Google berkomitmen untuk memajukan ekuitas ras bagi masyarakat Hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

saluran Data

The WebRTC standar juga meliputi API untuk mengirim data sewenang-wenang atas RTCPeerConnection . Hal ini dilakukan dengan memanggil createDataChannel() pada RTCPeerConnection objek, yang mengembalikan RTCDataChannel objek.

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

Remote peer dapat menerima saluran data dengan mendengarkan untuk datachannel acara di RTCPeerConnection objek. Acara yang diterima adalah dari jenis RTCDataChannelEvent dan berisi channel properti yang mewakili RTCDataChannel terhubung antara rekan-rekan.

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

Terbuka dan acara dekat

Sebelum saluran data dapat digunakan untuk mengirim data, klien perlu menunggu sampai telah dibuka. Hal ini dilakukan dengan mendengarkan open acara. Demikian juga, ada close acara ketika kedua sisi menutup saluran.

 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;
});
 

pesan

Mengirim pesan pada RTCDataChannel dilakukan dengan memanggil send() fungsi dengan data kita ingin mengirim. The data parameter untuk fungsi ini dapat berupa string, Blob , sebuah ArrayBuffer atau dan 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);
})
 

Remote peer akan menerima pesan yang dikirim pada RTCDataChannel dengan mendengarkan pada message acara.

 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';
});