Google มุ่งมั่นที่จะก้าวทุนเชื้อชาติชุมชนสีดำ มาดูกันว่า
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ช่องข้อมูล

มาตรฐาน WebRTC ยังครอบคลุม API สำหรับการส่งข้อมูลโดยพลกว่า RTCPeerConnection นี้จะกระทำโดยการเรียก createDataChannel() บน RTCPeerConnection วัตถุซึ่งส่งกลับ RTCDataChannel วัตถุ

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

เพื่อนระยะไกลสามารถรับช่องข้อมูลโดยการฟังสำหรับ datachannel เหตุการณ์ใน RTCPeerConnection วัตถุ เหตุการณ์ที่ได้รับเป็นประเภท RTCDataChannelEvent และมี channel ทรัพย์สินที่หมายถึง RTCDataChannel เชื่อมต่อระหว่างเพื่อนร่วมงาน

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

เปิดและเหตุการณ์ที่เกิดขึ้นอย่างใกล้ชิด

ก่อนที่จะเป็นช่องทางข้อมูลที่สามารถใช้สำหรับการส่งข้อมูลความต้องการของลูกค้าที่จะรอจนกว่าจะได้รับการเปิด นี้จะกระทำโดยการฟังไป open เหตุการณ์ ในทำนองเดียวกันมีความ close เหตุการณ์เมื่อทั้งสองข้างปิดช่องทาง

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

ข้อความ

ส่งข้อความบนเป็น RTCDataChannel จะทำโดยการเรียก send() ฟังก์ชั่นที่มีข้อมูลที่เราต้องการที่จะส่ง data พารามิเตอร์สำหรับฟังก์ชั่นนี้สามารถเป็นได้ทั้งสตริงเป็น Blob เป็น ArrayBuffer หรือและ 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);
})
 

เพียร์จากระยะไกลจะได้รับข้อความที่ส่งบน RTCDataChannel โดยการฟังใน message เหตุการณ์

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