WebTransport:incomingUnidirectionalStreams 属性

有限可用性

此功能不是基线,因为它在一些最广泛使用的浏览器中无法使用。

安全上下文:此功能仅在 安全上下文 (HTTPS) 中可用,在部分或所有 支持的浏览器 中可用。

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

incomingUnidirectionalStreams 的只读属性 WebTransport 接口表示由服务器打开的一个或多个单向流。返回 ReadableStreamWebTransportReceiveStream 对象。每个对象都可以用来可靠地从服务器读取数据。

“可靠”意味着数据传输和顺序得到保证。这提供了比 datagrams 更慢的传递(尽管比 WebSockets 快),但在需要可靠性和排序的情况下是必要的,比如聊天应用程序。

示例

一个初始函数用于从 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

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅