WebRTC standardı ayrıca
RTCPeerConnection Bu işlem,createDataChannel()
RTCDataChannel nesnesi döndüren RTCPeerConnection nesnesi.
const peerConnection = new RTCPeerConnection(configuration);
const dataChannel = peerConnection.createDataChannel();
Uzak benzer, datachannel dinleyerek veri kanallarını alabilir
etkinliği RTCPeerConnection nesnesinde değişir. Alınan etkinlik türü
RTCDataChannelEvent vechannel
RTCDataChannel benzerler arasında bağlantı kurdu.
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 amacıyla kullanılabilmesi için önce istemcinin beklemesi gerekir.
açılana kadar bekleyin. Bu işlem, open etkinliği dinlenerek yapılır.
Benzer şekilde, her iki tarafın kanalı kapattığında bir close etkinliği olur.
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 cihazında mesaj gönderme işlemi send() işlevi çağrılır
istediğimiz verileri göndermemiz gerekir. Bu işlev için data parametresi şöyle olabilir:
bir dize, Blob, ArrayBuffer veya ArrayBufferView olabilir.
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ş, RTCDataChannel üzerinden gönderilen mesajları şurada dinleyerek alır:
message etkinliği.
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';
});