WebTransportDatagramDuplexStream

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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.

Das WebTransportDatagramDuplexStream Interface der WebTransport API repräsentiert einen Duplex-Stream, der für den unzuverlässigen Transport von Datagrammen zwischen Client und Server genutzt werden kann. Es bietet Zugriff auf einen ReadableStream zum Lesen eingehender Datagramme, einen WritableStream zum Schreiben ausgehender Datagramme sowie verschiedene Einstellungen und Statistiken in Bezug auf den Stream.

Der Zugriff erfolgt über die WebTransport.datagrams Eigenschaft.

„Unzuverlässig“ bedeutet, dass die Datenübertragung nicht garantiert ist, noch die Reihenfolge des Eintreffens. Dies ist in einigen Situationen in Ordnung und ermöglicht eine sehr schnelle Lieferung. Beispielsweise könnten Sie regelmäßige Aktualisierungen des Spielstands übertragen wollen, bei denen jede Nachricht die letzte übertrifft, und die Reihenfolge nicht wichtig ist.

Instanzeigenschaften

incomingHighWaterMark

Ruft die High-Water-Mark für eingehende Datenblöcke ab oder setzt diese — dies ist die maximale Größe in Datenblöcken, die die interne Warteschlange des eingehenden ReadableStream erreichen kann, bevor sie als voll betrachtet wird. Siehe Interne Warteschlangen und Warteschlangenstrategien für weitere Informationen.

incomingMaxAge

Ruft das maximale Alter für eingehende Datagramme in Millisekunden ab oder setzt es. Gibt null zurück, wenn kein maximales Alter festgelegt wurde.

maxDatagramSize Schreibgeschützt

Gibt die maximale zulässige Größe ausgehender Datagramme in Bytes zurück, die in writable geschrieben werden können.

outgoingHighWaterMark

Ruft die High-Water-Mark für ausgehende Datenblöcke ab oder setzt diese — dies ist die maximale Größe in Datenblöcken, die die interne Warteschlange des ausgehenden WritableStream erreichen kann, bevor sie als voll betrachtet wird. Siehe Interne Warteschlangen und Warteschlangenstrategien für weitere Informationen.

outgoingMaxAge

Ruft das maximale Alter für ausgehende Datagramme in Millisekunden ab oder setzt es. Gibt null zurück, wenn kein maximales Alter festgelegt wurde.

readable Schreibgeschützt

Gibt eine ReadableStream Instanz zurück, die verwendet werden kann, um eingehende Datagramme aus dem Stream zu lesen.

writable Schreibgeschützt

Gibt eine WritableStream Instanz zurück, die verwendet werden kann, um ausgehende Datagramme in den Stream zu schreiben.

Beispiele

Schreiben ausgehender Datagramme

Die writable Eigenschaft gibt ein WritableStream Objekt zurück, in das Sie Daten mit einem Writer schreiben können, um sie an den Server zu senden:

js
const writer = transport.datagrams.writable.getWriter();
const data1 = new Uint8Array([65, 66, 67]);
const data2 = new Uint8Array([68, 69, 70]);
writer.write(data1);
writer.write(data2);

Lesen eingehender Datagramme

Die readable Eigenschaft gibt ein ReadableStream Objekt zurück, das Sie verwenden können, um Daten vom Server zu empfangen:

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

Specification
WebTransport
# duplex-stream

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch