RTCIceCandidate: protocol 屬性
RTCIceCandidate 介面的只讀 **protocol** 屬性是一個字串,用於指示候選者是使用 UDP 還是 TCP 作為其傳輸協議。
protocol 欄位的值是從傳遞給 RTCIceCandidate() 建構函式的 candidateInfo 選項物件設定的。您不能在選項物件中直接指定 protocol 的值,但如果物件的 candidate a-line 格式正確,其值將自動從中提取。
如果未在 SDP 中正確指定,protocol 預設值為 null,但這是一種錯誤情況,在呼叫 RTCPeerConnection.addIceCandidate() 時將導致丟擲異常。
值
指示候選者使用的網路協議的字串
tcp-
如果選定,該候選者將使用 TCP 作為其資料的傳輸協議。
tcpType屬性提供了有關該物件所代表的 TCP 候選者種類的額外資訊。 udp-
該候選者將使用 UDP 傳輸協議傳輸其資料。由於其更好的效能特徵,這是媒體互動的首選協議。
注意:如果 protocol 為 null — 並且 protocol 受 使用者代理支援 — 將候選者傳遞給 addIceCandidate() 將失敗,並丟擲 OperationError 異常。
用法說明
以下是 ICE 事務中的一個示例候選者 a-line
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host
第三個欄位 "udp" 是協議型別,表明該候選者將使用 UDP 傳輸協議。
示例
此程式碼段檢查 protocol 的值,以確定是否應檢視 tcpType 的值,以判斷它是否為 **simultaneous-open** (S-O) 候選者。
js
if (candidate.protocol === "tcp") {
if (candidate.tcpType === "so") {
adjustForSimultaneousOpen(candidate);
}
}
規範
| 規範 |
|---|
| WebRTC:瀏覽器中的即時通訊 # dom-rtcicecandidate-protocol |
瀏覽器相容性
載入中…