RTCDataChannelStats

RTCDataChannelStatsWebRTC API 中的一个字典,它提供了与连接上一个 RTCDataChannel 对象相关的统计信息。

可以通过迭代 RTCStatsReport(由 RTCPeerConnection.getStats() 返回)来获取报表,直到找到 typedata-channel 的条目。

可以通过将 dataChannelIdentifier 属性与匹配的 RTCDataChannel.id 进行比较,将数据通道统计信息与特定通道相关联。

实例属性

bytesSent 可选

一个正整数,表示通过关联的 RTCDataChannel 发送的有效负载字节总数。

bytesReceived 可选

一个正整数,表示通过关联的 RTCDataChannel 接收的有效负载字节总数。

dataChannelIdentifier 可选

一个正整数,包含关联的 RTCDataChannelid

label 可选

一个字符串,包含关联的 RTCDataChannellabel

messagesReceived 可选

一个正整数,表示通过关联的 RTCDataChannel 接收的消息触发的 message 事件 的总数。

messagesSent 可选

一个正整数,表示通过通道发送的消息触发的 message 事件 的总数。

protocol 可选

一个字符串,包含关联的 RTCDataChannelprotocol

state

关联的 RTCDataChannelreadyState

通用实例属性

以下属性是所有 WebRTC 统计信息对象共有的(有关更多信息,请参见 RTCStatsReport)。

id

一个唯一标识正在监控以生成此组统计信息的对象的字符串。

timestamp

一个 DOMHighResTimeStamp 对象,表示为该统计信息对象获取样本的时间。

type

一个值为 "data-channel" 的字符串,表示对象包含的统计信息类型。

示例

假设有一个名为 myPeerConnection 的变量,它是 RTCPeerConnection 的一个实例,下面的代码使用 await 来等待统计信息报表,然后使用 RTCStatsReport.forEach() 进行迭代。然后它过滤字典,只保留 typedata-channel 的报表,并将结果记录下来。

js
const stats = await myPeerConnection.getStats();

stats.forEach((report) => {
  if (report.type === "data-channel") {
    // Log the channel information
    console.log(report);
  }
});

规范

规范
WebRTC 统计信息 API 的标识符
# dom-rtcstatstype-data-channel

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。