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'yi de kapsar. Bu, bir RTCDataChannel nesnesi döndüren bir RTCPeerConnection nesnesinde createDataChannel() çağrılarak 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 tipindedir ve eşler arasında bağlı olan RTCDataChannel temsil eden bir channel özelliği içerir.

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

Etkinlikleri aç ve kapat

Bir veri kanalı veri göndermek için kullanılmadan önce, müşterinin açılana kadar beklemesi gerekir. Bu, open olayı dinleyerek yapılır. Aynı şekilde, her iki tarafın da kanalı kapatması için bir 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 üzerinden mesaj göndermek, send() istediğimiz verilerle send() fonksiyonunu çağırarak yapılır. Bu işlevin data parametresi bir dize, Blob , 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 RTCDataChannel üzerinden gönderilen mesajları message olayını dinleyerek 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';
});