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: Diese Funktion ist in Web Workers verfügbar.

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

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.

js
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

Siehe auch