Google cam kết thúc đẩy bình đẳng chủng tộc đối với cộng đồng đen. Xem cách.
Trang này được dịch bởi Cloud Translation API.
Switch to English

kênh dữ liệu

Các tiêu chuẩn WebRTC được cũng bao gồm một API cho việc gửi dữ liệu tùy ý trên một RTCPeerConnection . Này được thực hiện bằng cách gọi createDataChannel() trên một RTCPeerConnection đối tượng, trong đó trả về một RTCDataChannel đối tượng.

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

Peer từ xa có thể nhận được các kênh dữ liệu bằng cách lắng nghe cho datachannel sự kiện trên RTCPeerConnection đối tượng. Sự kiện này nhận được là loại RTCDataChannelEvent và chứa một channel bất động sản đại diện cho RTCDataChannel kết nối giữa các đồng nghiệp.

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

Mở và các sự kiện gần

Trước khi một kênh dữ liệu có thể được sử dụng cho việc gửi dữ liệu, khách hàng cần phải chờ đợi cho đến khi nó đã được mở. Này được thực hiện bằng cách lắng nghe sự open sự kiện. Tương tự như vậy, có một close sự kiện cho khi hai bên đóng kênh.

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

Tin nhắn

Gửi một tin nhắn trên một RTCDataChannel được thực hiện bằng cách gọi send() chức năng với các dữ liệu chúng tôi muốn gửi. Các data tham số cho hàm này có thể là một chuỗi, một Blob , một ArrayBuffer hay và 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);
})
 

Peer từ xa sẽ nhận tin nhắn gửi vào một RTCDataChannel bằng cách lắng nghe trên message sự kiện.

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