RTCDataChannelStats
WebRTC API 的 RTCDataChannelStats 字典提供了與連線上的一個 RTCDataChannel 物件相關的統計資訊。
可以透過迭代 RTCPeerConnection.getStats() 返回的 RTCStatsReport 來獲取報告,直到找到一個 type 為 data-channel 的條目。
可以透過將 dataChannelIdentifier 屬性與匹配的 RTCDataChannel.id 進行比較,來將資料通道統計資訊與特定通道關聯起來。
例項屬性
bytesSent可選-
一個正整數值,表示在關聯的
RTCDataChannel上傳送的總有效載荷位元組數。 bytesReceived可選-
一個正整數值,表示在關聯的
RTCDataChannel上接收的總有效載荷位元組數。 dataChannelIdentifier可選-
一個正整數值,包含關聯
RTCDataChannel的id。 label可選-
一個字串,包含關聯
RTCDataChannel的label。 messagesReceived可選-
一個正整數值,表示在關聯
RTCDataChannel上為收到的訊息觸發的message事件 的總數。 messagesSent可選-
一個正整數值,表示為在該通道上傳送的訊息觸發的
message事件 的總數。 protocol可選-
一個字串,包含關聯
RTCDataChannel的protocol。 state-
關聯
RTCDataChannel的readyState。
常見例項屬性
以下屬性是所有 WebRTC 統計資訊物件共有的(有關更多資訊,請參見 RTCStatsReport)。
id-
一個字串,唯一標識正在監控以生成這組統計資訊的物件。
時間戳-
一個
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);
}
});
規範
| 規範 |
|---|
| WebRTC 統計 API 的識別符號 # dom-rtcstatstype-data-channel |
瀏覽器相容性
載入中…