RTCDataChannelStats
Словарь RTCDataChannelStats API WebRTC предоставляет статистику, связанную с одним объектом RTCDataChannel на подключении.
Отчёт можно получить, итерируя RTCStatsReport, возвращённый RTCPeerConnection.getStats(), пока не будет найдена запись с type типа data-channel.
Статистику каналов данных можно соотнести с конкретным каналом, сравнив свойство dataChannelIdentifier с соответствующим RTCDataChannel.id.
Свойства экземпляра
-
bytesSentНеобязательно -
Положительное целое число, указывающее общее количество байтов полезной нагрузки, отправленных по связанному
RTCDataChannel. -
bytesReceivedНеобязательно -
Положительное целое число, указывающее общее количество байтов полезной нагрузки, полученных по связанному
RTCDataChannel. -
dataChannelIdentifierНеобязательно -
Положительное целое число, содержащее
idсвязанногоRTCDataChannel. -
labelНеобязательно -
Строка, содержащая
labelсвязанногоRTCDataChannel. -
messagesReceivedНеобязательно -
Положительное целое число, указывающее общее количество событий
message, сгенерированных для полученных сообщений по связанномуRTCDataChannel. -
messagesSentНеобязательно -
Положительное целое число, указывающее общее количество событий
message, сгенерированных для отправленных сообщений по каналу. -
protocolНеобязательно -
Строка, содержащая
protocolсвязанногоRTCDataChannel. state-
readyStateсвязанногоRTCDataChannel.
Общие свойства экземпляра
Следующие свойства являются общими для всех объектов статистики WebRTC (см. RTCStatsReport для получения дополнительной информации).
id-
Строка, уникально идентифицирующая объект, который отслеживается для получения этого набора статистики.
timestamp-
Объект
DOMHighResTimeStamp, указывающий время, в которое была взята выборка для этого объекта статистики. type-
Строка со значением
"data-channel", указывающая тип статистики, содержащейся в объекте.
Примеры
Учитывая переменную myPeerConnection, которая является экземпляром RTCPeerConnection, код ниже использует await для ожидания отчета о статистике, а затем итерирует его с помощью RTCStatsReport.forEach(). Затем он фильтрует словари только для тех отчётов, у которых тип data-channel, и выводит результат.
const stats = await myPeerConnection.getStats();
stats.forEach((report) => {
if (report.type === "data-channel") {
// Log the channel information
console.log(report);
}
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
RTCDataChannelStats |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
bytesReceived |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
bytesSent |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
dataChannelIdentifier |
85 | 85 | 79 | 71 | Нет | 85 | Нет | 60 | Нет | 14.0 | 85 |
id |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
label |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
messagesReceived |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
messagesSent |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
protocol |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
state |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
timestamp |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 57 | 13.4 | 13.0 | 80 |
type |
80 | 80 | 79 | 67 | 13.1 | 80 | Нет | 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/RTCDataChannelStats