RTCIceCandidate: type 屬性
RTCIceCandidate 介面的只讀 **type 屬性指定了該物件代表的候選者型別。
type 欄位的值是從傳遞給 RTCIceCandidate() 建構函式的 candidateInfo 選項物件設定的。您無法在選項物件中直接指定 type 的值,但如果其 candidate a-line(cand-type 欄位)格式正確,其值會自動從該物件中提取。
值
一個字串,其值是下面定義的其中一個。這些候選者型別按優先順序排序;列表中越靠前,效率越高。
主機-
該候選者是一個 host 候選者,其中
RTCIceCandidate.address屬性中指定的 IP 地址實際上是遠端對等方的真實地址。 srflx-
該候選者是一個 server reflexive 候選者;
ip和埠是由 NAT 分配的繫結,當一個代理透過 NAT 向伺服器傳送資料包時使用。它們可以由 STUN 伺服器和 TURN 伺服器學習,以匿名地表示候選者的對等方。 prflx-
該候選者是一個 peer reflexive 候選者;
ip和埠是由 NAT 在傳送 STUN 請求以匿名地表示候選者的對等方時分配的繫結。 relay-
該候選者是一個 relay 候選者,從 TURN 伺服器獲取。relay 候選者的 IP 地址是 TURN 伺服器用於在兩個對等方之間轉發媒體的地址。
如果 type 是 null,則該資訊在 candidate 的 a-line 中缺失,這將導致 RTCPeerConnection.addIceCandidate() 丟擲 OperationError 異常。
示例
在此示例中,候選者的 type 用於為 host 候選者(其中 ip 直接指向遠端對等方,而不是中介)呈現修改後的使用者介面。
js
if (candidate.type === "host") {
showHostControls();
} else {
hideHostControls();
}
規範
| 規範 |
|---|
| WebRTC:瀏覽器中的即時通訊 # dom-rtcicecandidate-type |
瀏覽器相容性
載入中…