グーグルは、ブラックコミュニティのための人種的資本を進めてまいります。 どのように参照してください。
このページは 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この関数のパラメータは、文字列、のいずれかになりますBlobArrayBufferかと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';
});