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:
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:
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> |