WebTransport: datagrams 屬性

可用性有限

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

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

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

WebTransport 介面的只讀屬性 datagrams 返回一個 WebTransportDatagramDuplexStream 例項,該例項可用於傳送和接收資料報 — 不可靠的資料傳輸。

“不可靠”意味著資料傳輸不被保證,也不會按特定順序到達。在某些情況下,這沒問題,而且可以提供非常快速的傳輸。例如,您可能希望傳輸定期的遊戲狀態更新,其中每個訊息都會覆蓋最後一個到達的訊息,並且順序不重要。

一個 WebTransportDatagramDuplexStream 物件。

示例

寫入傳出的資料報

WebTransportDatagramDuplexStream.writable 屬性返回一個 WritableStream 物件,您可以使用寫入器向該物件寫入資料,以便傳輸到伺服器。

js
const writer = transport.datagrams.writable.getWriter();
const data1 = new Uint8Array([65, 66, 67]);
const data2 = new Uint8Array([68, 69, 70]);
writer.write(data1);
writer.write(data2);

讀取傳入的資料報

WebTransportDatagramDuplexStream.readable 屬性返回一個 ReadableStream 物件,您可以使用該物件從伺服器接收資料。

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

規範

規範
WebTransport
# dom-webtransport-datagrams

瀏覽器相容性

另見