WebTransport: incomingUnidirectionalStreams-Eigenschaft
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: Dieses Feature ist verfügbar in Web Workers.
Die schreibgeschützte Eigenschaft incomingUnidirectionalStreams
der WebTransport
-Schnittstelle repräsentiert einen oder mehrere unidirektionale Streams, die vom Server geöffnet wurden. Sie gibt einen ReadableStream
von WebTransportReceiveStream
-Objekten zurück. Jeder dieser Objekte kann verwendet werden, um Daten zuverlässig vom Server zu lesen.
"Zuverlässig" bedeutet, dass Übertragung und Reihenfolge der Daten garantiert sind. Dies sorgt für langsamere Zustellung (wenn auch schneller als bei WebSockets) im Vergleich zu datagrams
, ist jedoch in Situationen erforderlich, in denen Zuverlässigkeit und Reihenfolge wichtig sind, wie bei Chat-Anwendungen.
Wert
Ein ReadableStream
von WebTransportReceiveStream
-Objekten.
Beispiele
Eine anfängliche Funktion wird verwendet, um die WebTransportReceiveStream
-Objekte aus dem ReadableStream
zu lesen. Jedes Objekt wird dann an eine weitere Funktion übergeben, um aus diesen Streams zu lesen.
async function receiveUnidirectional() {
const uds = transport.incomingUnidirectionalStreams;
const reader = uds.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) {
break;
}
// value is an instance of WebTransportReceiveStream
await readData(value);
}
}
async function readData(receiveStream) {
const reader = receiveStream.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) {
break;
}
// value is a Uint8Array
console.log(value);
}
}
Spezifikationen
Specification |
---|
WebTransport # dom-webtransport-incomingunidirectionalstreams |
Browser-Kompatibilität
BCD tables only load in the browser