RTCIceCandidate

Baseline 廣泛可用 *

此功能已成熟,可跨多種裝置和瀏覽器版本使用。自 2017 年 9 月以來,它已在瀏覽器中提供。

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

RTCIceCandidate 介面 — WebRTC API 的一部分 — 代表一個互動式連線建立 (Interactive Connectivity Establishment, ICE) 配置候選,可用於建立一個 RTCPeerConnection

ICE 候選描述了 WebRTC 與遠端裝置通訊所需的協議和路由。在啟動 WebRTC 對等連線時,通常雙方會提出若干個候選,直到雙方就一個描述了他們認為最佳的連線的候選達成一致。然後 WebRTC 使用該候選的詳細資訊來發起連線。

有關 ICE 過程的詳細資訊,請參閱 WebRTC 會話的生命週期。文章 WebRTC 連線 提供了更多有用的詳細資訊。

建構函式

RTCIceCandidate()

建立一個 RTCIceCandidate 物件來表示單個 ICE 候選,並可選擇根據配置物件進行配置。

注意: 為了向後相容,建構函式還接受一個包含 candidate 屬性值的字串作為輸入,而不是配置物件。

例項屬性

address 只讀

包含候選 IP 地址的字串。

candidate 只讀

一個字串,表示可用於連線檢查的候選的傳輸地址。此地址的格式是 RFC 5245 中定義的 candidate-attribute。如果 RTCIceCandidate 是“候選結束”指示符,則此字串為空 ("")。

component 只讀

一個字串,指示候選是 RTP 候選還是 RTCP 候選;其值是 rtprtcp,並從 candidate a-line 字串中的 "component-id" 欄位派生。

foundation 只讀

返回一個字串,包含一個唯一識別符號,該識別符號對於相同型別的任何候選都是相同的,共享相同的基(ICE 代理傳送候選的地址),並且來自相同的 STUN 伺服器。這用於幫助最佳化 ICE 效能,同時優先處理和關聯出現在多個 RTCIceTransport 物件上的候選。

port 只讀

指示候選埠號的整數值。

priority 只讀

指示候選優先順序的長整型值。

protocol 只讀

指示候選協議是 "tcp" 還是 "udp" 的字串。

relatedAddress 只讀

如果候選源自另一個候選,則 relatedAddress 是包含該主機候選 IP 地址的字串。對於主機候選,此值為 null

relatedPort 只讀

對於源自另一個候選(例如中繼候選或反射候選)的候選,relatedPort 是指示該候選源自的候選的埠號的數字。對於主機候選,relatedPort 屬性為 null

sdpMid 只讀

一個字串,指定候選的媒體流識別符號標籤,該標籤唯一標識與該候選關聯的元件內的媒體流,如果不存在此類關聯,則為 null

sdpMLineIndex 只讀

如果不為 nullsdpMLineIndex 表示媒體描述(如 RFC 4566 中定義)在 SDP 中的零基索引編號,該編號與候選相關聯。

tcpType 只讀

如果 protocol"tcp",則 tcpType 表示 TCP 候選的型別。否則,tcpTypenull

type 只讀

指示候選型別的字串,其值是 RTCIceCandidate.type 中列出的字串之一。

usernameFragment 只讀

包含一個隨機生成的使用者名稱片段 ("ice-ufrag") 的字串,ICE 使用該使用者名稱片段與隨機生成的密碼 ("ice-pwd") 一起實現訊息完整性。您可以使用此字串來驗證 ICE 生成的代數;同一 ICE 過程的每一代都會使用相同的 usernameFragment,即使在 ICE 重啟時也是如此。

例項方法

toJSON()

返回 RTCIceCandidate 當前配置的 JSON 表示形式。表示形式與 candidateInfo 物件相同,該物件可選擇性地傳遞給 RTCIceCandidate() 建構函式來配置候選。

示例

有關示例,請參閱文章 信令與視訊通話,其中演示了整個過程。

規範

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

瀏覽器相容性