Spec-Zone.ru › Web APIs

RTCDataChannel: свойство bufferedAmount

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Чтение только RTCDataChannel свойство bufferedAmount возвращает количество байтов данных, в настоящее время ожидающих отправки по каналу данных. Очередь может накапливаться в результате вызовов метода send(). Это включает только данные, буферизованные самим агентом пользователя; это не включает накладные расходы на форматирование или буферизацию, выполняемые операционной системой или сетевым оборудованием.

Агент пользователя может реализовать процесс фактической отправки данных любым удобным ему способом; это может выполняться периодически во время цикла событий или действительно асинхронно. По мере фактической отправки сообщений это значение соответственно уменьшается.

Примечание: Закрытие канала данных не сбрасывает этот счётчик, даже если агент пользователя очищает очередь сообщений. Однако даже после закрытия канала попытки отправить сообщения продолжают добавляться к значению bufferedAmount , хотя сообщения ни отправляются, ни буферизуются.

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

Значение

Количество байтов данных, в настоящее время ожидающих отправки по каналу данных, но ещё не отправлено.

Пример

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

const dc = peerConnection.createDataChannel("File Transfer");

// …

function showBufferedAmount(channel) {
  const el = document.getElementById("bufferSize");

  el.innerText = `${channel.bufferedAmount} bytes`;
}

Спецификации

Спецификация
WebRTC: Реальное общение в браузерах
# dom-datachannel-bufferedamount

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari в IOS Samsung Internet WebView Android
bufferedAmount 24 79 22 15 11 25 24 14 11 1.5 4.4

См. также

  • WebRTC
  • Использование каналов данных WebRTC
  • RTCDataChannel
  • RTCDataChannel.bufferedAmountLowThreshold
  • bufferedamountlow событие

© 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/RTCDataChannel/bufferedAmount

Spec-Zone.ru

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