WebTransport:incomingUnidirectionalStreams 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

WebTransport 介面的只讀屬性 incomingUnidirectionalStreams 表示伺服器開啟的一個或多個單向流。返回一個 WebTransportReceiveStream 物件的 ReadableStream。每個物件都可以用來可靠地從伺服器讀取資料。

“可靠”意味著保證資料的傳輸順序。這提供了比 datagrams 更慢的傳輸速度(儘管比 WebSockets 快),但在可靠性和順序性至關重要的情況下是必需的,例如聊天應用程式。

一個 WebTransportReceiveStream 物件的 ReadableStream

示例

使用一個初始函式從 ReadableStream 中讀取 WebTransportReceiveStream 物件。然後將每個物件傳遞給另一個函式來讀取這些流。

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);
  }
}

規範

規範
WebTransport
# dom-webtransport-incomingunidirectionalstreams

瀏覽器相容性

另見