RTCPeerConnection: connectionState 屬性

Baseline 2023
新推出

自 ⁨2023 年 5 月⁩起,此功能可在最新的裝置和瀏覽器版本上使用。此功能可能無法在舊版裝置或瀏覽器上使用。

RTCPeerConnection 介面的只讀屬性 connectionState 透過返回以下字串值之一來指示對等連線的當前狀態:newconnectingconnecteddisconnectedfailedclosed

此狀態本質上代表了連線使用的所有 ICE 傳輸(型別為 RTCIceTransportRTCDtlsTransport)的聚合狀態。

當此屬性的值發生更改時,一個 connectionstatechange 事件將被髮送到 RTCPeerConnection 例項。

一個表示連線當前狀態的字串。它可以取以下值之一:

new

連線的 ICE 傳輸(RTCIceTransportRTCDtlsTransport 物件)中至少有一個處於 new 狀態,並且它們中沒有處於以下狀態之一:connectingcheckingfaileddisconnected,或者連線的所有傳輸都處於 closed 狀態。

connecting

ICE 傳輸中有一個或多個目前正處於建立連線的過程中;也就是說,它們的 iceConnectionState 要麼是 checking,要麼是 connected,並且沒有傳輸處於 failed 狀態。

connected

連線使用的每個 ICE 傳輸都處於使用中(狀態為 connectedcompleted)或已關閉(狀態為 closed);此外,至少有一個傳輸處於 connectedcompleted 狀態。

disconnected

連線的 ICE 傳輸中至少有一個處於 disconnected 狀態,並且其他傳輸沒有處於以下狀態:failedconnectingchecking

failed

連線中的一個或多個 ICE 傳輸處於 failed 狀態。

closed

RTCPeerConnection 已關閉。

示例

js
const peerConnection = new RTCPeerConnection(configuration);

// …

const connectionState = peerConnection.connectionState;

規範

規範
WebRTC:瀏覽器中的即時通訊
# dom-peerconnection-connection-state

瀏覽器相容性

另見