RTCPeerConnection: iceConnectionState 屬性
RTCPeerConnection 介面的只讀屬性 iceConnectionState 返回一個字串,表示與 RTCPeerConnection 相關聯的 ICE 代理的狀態:new、checking、connected、completed、failed、disconnected 和 closed。
它描述了 ICE 代理及其與 ICE 伺服器(即 STUN 或 TURN 伺服器)連線的當前狀態。
您可以透過監聽 iceconnectionstatechange 事件來檢測此值何時發生變化。
值
ICE 代理及其連線的當前狀態。該值是以下字串之一:
new-
ICE 代理正在收集地址,或正在等待透過呼叫
RTCPeerConnection.addIceCandidate()(或兩者)來獲取遠端候選者。 checking-
ICE 代理已獲得一個或多個遠端候選者,並正在將本地和遠端候選者對進行比較以嘗試找到相容的匹配項,但尚未找到允許建立對等連線的對。候選者收集工作也可能仍在進行中。
connected-
已為連線的所有元件找到可用的本地和遠端候選者對,並且連線已建立。收集工作可能仍在進行中,ICE 代理也可能仍在相互比較候選者,以尋找更好的連線。
completed-
ICE 代理已完成候選者收集,已相互比較所有對,併為所有元件找到了連線。
failed-
ICE 候選者已相互比較所有候選者對,但未能為連線的所有元件找到相容的匹配項。然而,ICE 代理可能已經為某些元件找到了相容的連線。
disconnected-
對於
RTCPeerConnection的至少一個元件,檢查以確保元件仍然連線失敗。這比failed的測試更寬鬆,並且可能在不可靠的網路或臨時斷開連線時間歇性觸發並自發解決。當問題解決時,連線可能會恢復到connected狀態。 closed-
此
RTCPeerConnection的 ICE 代理已關閉,不再處理請求。
示例
const pc = new RTCPeerConnection();
const state = pc.iceConnectionState;
規範
| 規範 |
|---|
| WebRTC:瀏覽器中的即時通訊 # dom-peerconnection-ice-connection-state |
瀏覽器相容性
載入中…