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

View in English Always switch to English

WebTransport: datagrams-Eigenschaft

Baseline 2026
Neu verfügbar

Seit March 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die schreibgeschützte Eigenschaft datagrams der WebTransport-Schnittstelle gibt eine WebTransportDatagramDuplexStream-Instanz zurück, die zum Senden und Empfangen von Datagrammen verwendet werden kann – unverlässliche Datenübertragung.

"Unverlässlich" bedeutet, dass die Übertragung von Daten nicht garantiert ist, noch das Eintreffen in einer bestimmten Reihenfolge. Dies ist in einigen Situationen akzeptabel und ermöglicht eine sehr schnelle Übermittlung. Zum Beispiel könnten Sie regelmäßige Spielstatus-Updates übertragen wollen, bei denen jede Nachricht die zuvor angekommene überschreibt und die Reihenfolge nicht wichtig ist.

Wert

Ein WebTransportDatagramDuplexStream-Objekt.

Beispiele

Schreiben eines ausgehenden Datagramms

Dieser Code verwendet die Methode createWritable(), falls diese unterstützt wird, um eine WebTransportDatagramsWritable-Instanz zu erhalten, die zum Schreiben von Daten in den Transport verwendet werden kann. Andernfalls wird auf die Eigenschaft writable zurückgegriffen, die ein WritableStream-Objekt zurückgibt, in das Sie Daten zur Übertragung an den Server mit einem Writer schreiben können:

js
const writableStream =
  typeof transport.datagrams.createWritable === "function"
    ? transport.datagrams.createWritable()
    : transport.datagrams.writable; // Deprecated and non-standard.

const writer = writableStream.getWriter();
const data1 = new Uint8Array([65, 66, 67]);
const data2 = new Uint8Array([68, 69, 70]);
await writer.ready;
writer.write(data1);
await writer.ready;
writer.write(data2);

Lesen eines eingehenden Datagramms

Die WebTransportDatagramDuplexStream.readable-Eigenschaft gibt ein ReadableStream-Objekt zurück, mit dem Sie Daten vom Server empfangen können:

js
async function readData() {
  const reader = transport.datagrams.readable.getReader();
  while (true) {
    const { value, done } = await reader.read();
    if (done) {
      break;
    }
    // value is a Uint8Array.
    console.log(value);
  }
}

Spezifikationen

Spezifikation
WebTransport
# dom-webtransport-datagrams

Browser-Kompatibilität

Siehe auch