Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Veri kanalları

WebRTC standardı ayrıca bir RTCPeerConnection üzerinden rastgele veri göndermek için bir API içerir. Bu işlem, bir RTCDataChannel nesnesi döndüren bir RTCPeerConnection nesnesinde createDataChannel() çağırarak yapılır.

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

Uzaktaki eş dinleyerek veri kanalları alabilen datachannel üzerinde olay RTCPeerConnection nesne. Alınan olay RTCDataChannelEvent ve eşler arasında bağlı RTCDataChannel temsil eden bir channel özelliği içerir.

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

Etkinlikleri açma ve kapatma

Bir veri kanalının veri göndermek için kullanılabilmesi için, istemcinin açılana kadar beklemesi gerekir. Bu, open etkinliği dinleyerek yapılır. Benzer şekilde, her iki tarafın kanalı kapattığı zaman için close olay vardır.

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

Mesajlar

RTCDataChannel mesaj göndermek, send() istediğimiz verilerle send() işlevini çağırarak yapılır. Bu işlevin data parametresi bir dize, bir Blob , bir ArrayBuffer veya 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);
})
 

Uzak eş, message olayını dinleyerek bir RTCDataChannel gönderilen mesajları alacaktır.

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