Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. RTCDataChannel

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

RTCDataChannel

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.

* Some parts of this feature may have varying levels of support.

DieRTCDataChannel-Schnittstelle stellt einen Netzwerkkanal dar, der für bidirektionale Peer-to-Peer-Übertragungen beliebiger Daten verwendet werden kann. Jeder Datenkanal ist mit einerRTCPeerConnection verbunden, und jede Peer-Verbindung kann theoretisch bis zu 65.534 Datenkanäle haben (das tatsächliche Limit kann je nach Browser variieren).

Um einen Datenkanal zu erstellen und einen Remote-Peer einzuladen, rufen Sie die MethodecreateDataChannel() derRTCPeerConnection auf. Der Peer, der eingeladen wird, um Daten auszutauschen, erhält eindatachannel-Ereignis (dieses hat den TypRTCDataChannelEvent), um mitzuteilen, dass der Datenkanal zur Verbindung hinzugefügt wurde.

RTCDataChannel ist eintransferierbares Objekt.

EventTarget RTCDataChannel

Instanzeigenschaften

Erbt auch Eigenschaften vonEventTarget.

binaryType

Ein String, der den Objekttyp angibt, der verwendet werden soll, um binäre Daten, die auf demRTCDataChannel empfangen werden, darzustellen. Die Werte sind die gleichen wie bei derWebSocket.binaryType-Eigenschaft erlaubt:blob, wennBlob-Objekte verwendet werden, oderarraybuffer, wennArrayBuffer-Objekte verwendet werden. Der Standard istarraybuffer.

bufferedAmountSchreibgeschützt

Gibt die Anzahl der Datenbytes zurück, die derzeit zur Übertragung über den Datenkanal in die Warteschlange gestellt sind.

bufferedAmountLowThreshold

Gibt die Anzahl der Datenbytes an, die als "niedrig" gepuffert gelten. Der Standardwert ist 0.

idSchreibgeschützt

Gibt eine ID-Nummer (zwischen 0 und 65.534) zurück, die denRTCDataChannel eindeutig identifiziert.

labelSchreibgeschützt

Gibt einen String zurück, der einen Namen enthält, der den Datenkanal beschreibt. Diese Bezeichnungen müssen nicht eindeutig sein.

maxPacketLifeTimeSchreibgeschützt

Gibt die Zeitdauer in Millisekunden zurück, die der Browser hat, um zu versuchen, eine Nachricht zu übertragen, wie sie beim Erstellen des Datenkanals festgelegt wurde, odernull.

maxRetransmitsSchreibgeschützt

Gibt die maximale Anzahl von Versuchen zurück, die der Browser unternehmen sollte, um eine Nachricht erneut zu übertragen, bevor er aufgibt, wie beim Erstellen des Datenkanals festgelegt wurde, odernull, was darauf hinweist, dass es kein Maximum gibt.

negotiatedSchreibgeschützt

Gibt an, ob die Verbindung desRTCDataChannel von der Web-App (true) oder von der WebRTC-Schicht (false) ausgehandelt wurde. Der Standard istfalse.

orderedSchreibgeschützt

Gibt an, ob der Datenkanal die Reihenfolge der Nachrichtenlieferung garantiert; der Standard isttrue, was darauf hinweist, dass der Datenkanal tatsächlich geordnet ist.

prioritySchreibgeschütztExperimentell

Gibt einen String zurück, der die Priorität des Datenkanals angibt, wie sie beim Erstellen des Datenkanals festgelegt wurde oder wie sie vom Benutzeragenten zugewiesen wurde. Mögliche Werte sind"very-low","low","medium" oder"high".

protocolSchreibgeschützt

Gibt einen String zurück, der den Namen des verwendeten Subprotokolls enthält. Wenn kein Protokoll angegeben wurde, als der Datenkanal erstellt wurde, ist der Wert dieser Eigenschaft der leere String ("").

readyStateSchreibgeschützt

Gibt einen String zurück, der den Zustand der zugrunde liegenden Datenverbindung des Datenkanals angibt. Er kann einen der folgenden Werte haben:connecting,open,closing oderclosed.

Veraltete Eigenschaften

reliableSchreibgeschütztVeraltetNicht standardisiert

Gibt an, ob der Datenkanalzuverlässig ist.

Instanzmethoden

Erbt auch Methoden vonEventTarget.

close()

Schließt denRTCDataChannel. Jeder Peer darf diese Methode aufrufen, um die Schließung des Kanals zu initiieren.

send()

Sendet Daten über den Datenkanal zum Remote-Peer.

Ereignisse

bufferedamountlow

Wird gesendet, wenn die Anzahl der Datenbytes im ausgehenden Datenpuffer unter den durchbufferedAmountLowThreshold angegebenen Wert fällt.

close

Wird gesendet, wenn der zugrunde liegende Datentransport geschlossen wird.

closing

Wird gesendet, wenn der zugrunde liegende Datentransport kurz davor steht, geschlossen zu werden.

error

Wird gesendet, wenn ein Fehler auf dem Datenkanal auftritt.

message

Wird gesendet, wenn eine Nachricht vom Remote-Peer empfangen wurde. Der Nachrichtentext kann in derdata-Eigenschaft des Ereignisses gefunden werden.

open

Wird gesendet, wenn der Datenkanal zuerst geöffnet wird oder wenn die zugrunde liegende Verbindung eines bestehenden Datenkanals erneut geöffnet wird.

Datenformat

Das zugrunde liegende Datenformat wird durch die IEEE-SpezifikationSDP Offer/Answer Procedures for SCTP over DTLS Transport (RFC 8841) definiert. Das aktuelle Format spezifiziert sein Protokoll als entweder"UDP/DTLS/SCTP" (UDP, das DTLS, das SCTP trägt) oder"TCP/DTLS/SCTP" (TCP, das DTLS, das SCTP trägt). Ältere Browser geben möglicherweise nur"DTLS/SCTP" an.

Beispiel

js
const pc = new RTCPeerConnection();const dc = pc.createDataChannel("my channel");dc.onmessage = (event) => {  console.log(`received: ${event.data}`);};dc.onopen = () => {  console.log("datachannel open");};dc.onclose = () => {  console.log("datachannel close");};

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# rtcdatachannel

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp