RTCDataChannelStats

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

WebRTC API 的 RTCDataChannelStats 字典提供了與連線上的一個 RTCDataChannel 物件相關的統計資訊。

可以透過迭代 RTCPeerConnection.getStats() 返回的 RTCStatsReport 來獲取報告,直到找到一個 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

一個字串,唯一標識正在監控以生成這組統計資訊的物件。

時間戳

一個 DOMHighResTimeStamp 物件,表示此統計資訊物件樣本的採集時間。

type

一個值為 "data-channel" 的字串,表示該物件包含的統計資訊型別。

示例

給定一個變數 myPeerConnection,它是 RTCPeerConnection 的一個例項,下面的程式碼使用 await 等待統計資訊報告,然後使用 RTCStatsReport.forEach() 進行迭代。然後,它僅篩選出型別為 data-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

瀏覽器相容性