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 |
См. также
© 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