RTCIceCandidate:foundation 屬性

Baseline 2024
新推出

自 2024 年 5 月以來,此功能已在最新裝置和瀏覽器版本中可用。此功能可能不適用於較舊的裝置或瀏覽器。

RTCIceCandidate 介面中只讀的 foundation 屬性是一個字串,它允許在多個 RTCIceTransport 物件之間關聯來自同一網路路徑的候選者。

當候選者具有相同的 foundation 時,它們

  • 具有相同的型別:“host”、“relayed”、“server reflexive”或“peer reflexive”。
  • 具有相同的“bases”,這些“bases”共享相同的 IP 地址和傳輸協議,但不一定共享相同的埠。請注意,IP 地址是 ICE 代理傳送該候選者的網路介面的 IP 地址。
  • 它們來自具有相同 IP 地址的 STUN 或 TURN 伺服器。

這用於幫助最佳化 ICE 效能,同時優先排序和關聯出現在多個 RTCIceTransport 物件上的候選者。

一個字串,唯一標識在所有可用的 RTCIceTransport 物件上的候選者。

注意:如果 portnull — 並且 portuser agent 支援 — 則將該候選者傳遞給 addIceCandidate() 會失敗,並丟擲 OperationError 異常。

用法說明

考慮這個描述 ICE 候選的 SDP 屬性行(a-line):

a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host

欄位 "4234997325" 就是 foundation。

示例

此程式碼段使用兩個候選者的 foundation 來確定它們是否實際上是同一個候選者。

js
if (candidate1.foundation === candidate2.foundation) {
  /* the two candidates are the same, even if they're on
     different transports */
}

規範

規範
WebRTC:瀏覽器中的即時通訊
# dom-rtcicecandidate-foundation

瀏覽器相容性