RTCIceCandidateStats

Baseline 廣泛可用 *

此功能已廣泛建立,並可在多種裝置和瀏覽器版本中使用。自 ⁨2020 年 2 月⁩ 起,瀏覽器均已支援該功能。

* 此特性的某些部分可能存在不同級別的支援。

WebRTC API 中的 RTCIceCandidateStats 字典用於報告與 RTCIceCandidate 相關的統計資訊。

可以透過迭代 RTCPeerConnection.getStats() 返回的 RTCStatsReport 來獲取統計資訊,直到找到一個 typelocal-candidate 的報告。

例項屬性

address 可選

一個包含候選地址的字串。該值可能是一個 IPv4 地址、IPv6 地址或完全限定域名。此屬性以前命名為 ip,並且只接受 IP 地址。對應於 RTCIceCandidate.address

candidateType

一個字串,匹配 RTCIceCandidate.type 中的某個值,表示該物件提供的是哪種候選型別的統計資訊。

deleted

一個布林值,指示該候選是否已被刪除或釋放。

foundation 可選 實驗性

一個在多個傳輸通道中唯一標識該候選的字串。對應於 RTCIceCandidate.foundation

port 可選

候選使用的網路埠號。對應於 RTCIceCandidate.port

priority 可選

候選的優先順序。對應於 RTCIceCandidate.priority

protocol 可選

一個字串,指定在 port 上用於傳輸資料的協議(tcpudp)。對應於 RTCIceCandidate.protocol

relayProtocol

一個字串,指定本地 ICE 候選用於與 TURN 伺服器通訊的協議。

transportId

一個字串,用於唯一標識用於獲取與該統計資訊對應的候選相關的 RTCTransportStats 的傳輸物件。

url 可選

一個字串,指定所描述候選的 ICE 伺服器的 URL。此屬性適用於本地候選。

usernameFragment 可選 實驗性

一個字串,包含 ICE 使用者名稱片段 ("ice-ufrag")。對應於 RTCIceCandidate.usernameFragment

常見例項屬性

以下屬性是所有 WebRTC 統計資訊物件共有的。

id

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

時間戳

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

type

一個值為 "local-candidate" 的字串,指示該物件包含的統計資訊型別。

示例

給定一個變數 myPeerConnection,它是 RTCPeerConnection 的一個例項,下面的程式碼使用 await 等待統計報告,然後使用 RTCStatsReport.forEach() 進行迭代。然後,它僅過濾出 local-candidate 型別的字典,並列印結果。

js
const stats = await myPeerConnection.getStats();

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

規範

規範
WebRTC 統計 API 的識別符號
# dom-rtcstatstype-local-candidate

瀏覽器相容性