Spec-Zone.ru › Web APIs

WebTransportDatagramDuplexStream

Ограниченная доступность

Эта функция не относится к Baseline, поскольку она не работает в некоторых из самых широко используемых браузеров.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Интерфейс WebTransportDatagramDuplexStream API WebTransport представляет собой дуплексный поток, который можно использовать для ненадежной передачи датаграмм между клиентом и сервером. Предоставляет доступ к ReadableStream для чтения входящих датаграмм, к WritableStream для записи исходящих датаграмм и различным настройкам и статистике, связанным с потоком.

К нему можно получить доступ через свойство WebTransport.datagrams.

"Ненадёжный" означает, что передача данных не гарантируется, а также не гарантируется получение в определённом порядке. В некоторых ситуациях это обеспечивает очень быструю доставку. Например, вы можете передавать обычные обновления состояния игры, где каждое сообщение заменяет предыдущее, пришедшее, а порядок не важен.

Свойства экземпляра

incomingHighWaterMark

Получает или задаёт высокую отметку для входящих кусков данных — это максимальный размер, в кусках, который может достичь внутренняя очередь входящего ReadableStream, прежде чем он будет считаться полным. Дополнительную информацию см. в разделе Внутренние очереди и стратегии очередирования.

incomingMaxAge

Получает или задаёт максимальный срок жизни для входящих датаграмм в миллисекундах. Возвращает null , если максимальный срок жизни не задан.

maxDatagramSize Только для чтения

Возвращает максимально допустимый размер исходящих датаграмм в байтах, которые могут быть записаны в writable.

outgoingHighWaterMark

Получает или задаёт высокую отметку для исходящих кусков данных — это максимальный размер, в кусках, который может достичь внутренняя очередь исходящего WritableStream, прежде чем он будет считаться полным. Дополнительную информацию см. в разделе Внутренние очереди и стратегии очередирования.

outgoingMaxAge

Получает или задаёт максимальный срок жизни для исходящих датаграмм в миллисекундах. Возвращает null , если максимальный срок жизни не задан.

readable Только для чтения

Возвращает экземпляр ReadableStream, который можно использовать для чтения входящих датаграмм из потока.

writable Только для чтения

Возвращает экземпляр WritableStream, который можно использовать для записи исходящих датаграмм в поток.

Примеры

Запись исходящих датаграмм

Свойство writable возвращает объект WritableStream, в который вы можете записывать данные с помощью записи для передачи на сервер:

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

Чтение входящих датаграмм

Свойство readable возвращает объект ReadableStream, который вы можете использовать для получения данных от сервера:

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
# duplex-stream

Совместимость браузеров

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
WebTransportDatagramDuplexStream 97 97 114 83 Нет 97 114 68 Нет 18.0 97
byob_readers 109 109 Нет 95 Нет 109 Нет 74 Нет 21.0 109
incomingHighWaterMark 97 97 114 83 Нет 97 114 68 Нет 18.0 97
incomingMaxAge 97 97 114 83 Нет 97 114 68 Нет 18.0 97
maxDatagramSize 97 97 114 83 Нет 97 114 68 Нет 18.0 97
outgoingHighWaterMark 97 97 114 83 Нет 97 114 68 Нет 18.0 97
outgoingMaxAge 97 97 114 83 Нет 97 114 68 Нет 18.0 97
readable 97 97 114 83 Нет 97 114 68 Нет 18.0 97
writable 97 97 114 83 Нет 97 114 68 Нет 18.0 97

См. также

  • Использование WebTransport
  • API WebSockets
  • API потоков
  • WebTransport через HTTP/3

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API