Spec-Zone.ru › Web APIs

RTCPeerConnectionStats

Словарь RTCPeerConnectionStats API WebRTC содержит информацию о соединении между peer-системами высокого уровня (RTCPeerConnection).

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

Эти статистические данные можно получить, перебирая RTCStatsReport, возвращаемые RTCPeerConnection.getStats(), пока не будет найден отчёт с type peer-connection.

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

dataChannelsOpened

Положительное целое число, указывающее количество уникальных объектов RTCDataChannel, которые вошли в состояние open за время своего существования.

dataChannelsClosed

Положительное целое число, указывающее количество уникальных объектов RTCDataChannel, которые вышли из состояния open за время своего существования (каналы, которые перешли в состояние closing или closed без предварительного open не учитываются в этом числе). Канал покинет состояние open, если какой-либо конец соединения или подлежащий транспорт закрыт.

Общие свойства экземпляра

Следующие свойства являются общими для всех объектов статистики WebRTC.

id

Строка, которая однозначно идентифицирует объект, за которым ведется наблюдение для создания этого набора статистических данных.

timestamp

Объект DOMHighResTimeStamp, указывающий время, в которое была взята выборка для этого объекта статистических данных.

type

Строка со значением "peer-connection", указывающая тип статистики, содержащейся в объекте.

Примеры

В этом примере показана функция, возвращающая общее количество открытых подключений или null в случае отсутствия статистических данных. Она может вызываться в цикле, подобно подходу, используемому в примере RTCPeerConnection.getStats().

Функция ожидает результата вызова RTCPeerConnection.getStats(), а затем перебирает возвращённый RTCStatsReport, чтобы получить только статистику типа "peer-connection". Затем она возвращает общее количество открытых каналов или null, используя данные в отчёте.

async function numberOpenConnections (peerConnection) {
  const stats = await peerConnection.getStats();
  let peerConnectionStats = null;

  stats.forEach((report) => {
    if (report.type === "peer-connection") {
      peerConnectionStats = report;
      break;
    }
  });

result = (typeof peerConnectionStats.dataChannelsOpened === 'undefined' || typeof peerConnectionStats.dataChannelsClosed=== 'undefined') ? null : peerConnectionStats.dataChannelsOpened - peerConnectionStats.dataChannelsClosed;
return result
}

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

Спецификация
Идентификаторы API статистики WebRTC
# dom-rtcstatstype-peer-connection

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
RTCPeerConnectionStats 80 80 113 67 13.1 80 113 57 13.4 13.0 80
dataChannelsClosed 80 80 113 67 13.1 80 113 57 13.4 13.0 80
dataChannelsOpened 80 80 113 67 13.1 80 113 57 13.4 13.0 80
id 80 80 113 67 13.1 80 113 57 13.4 13.0 80
timestamp 80 80 113 67 13.1 80 113 57 13.4 13.0 80
type 80 80 113 67 13.1 80 113 57 13.4 13.0 80

© 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/RTCPeerConnectionStats

Spec-Zone.ru

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