RTCPeerConnection:connectionState 属性
**connectionState
** 是 RTCPeerConnection
接口的只读属性,它通过返回以下字符串值之一来指示对等连接的当前状态:new
、connecting
、connected
、disconnected
、failed
或 closed
。
此状态实质上表示连接使用的所有 ICE 传输(类型为 RTCIceTransport
或 RTCDtlsTransport
)的聚合状态。
当此属性的值发生变化时,将向 RTCPeerConnection
实例发送 connectionstatechange
事件。
值
表示连接当前状态的字符串。它可以取以下值之一
new
-
连接的至少一个 ICE 传输(
RTCIceTransport
或RTCDtlsTransport
对象)处于new
状态,并且没有一个处于以下状态之一:connecting
、checking
、failed
、disconnected
,或者连接的所有传输都处于closed
状态。 connecting
-
一个或多个 ICE 传输当前正在建立连接;也就是说,它们的
iceConnectionState
为checking
或connected
,并且没有传输处于failed
状态。 connected
-
连接使用的每个 ICE 传输都在使用中(状态为
connected
或completed
),或者已关闭(状态为closed
);此外,至少有一个传输处于connected
或completed
状态。 disconnected
-
连接的至少一个 ICE 传输处于
disconnected
状态,并且没有其他传输处于以下状态:failed
、connecting
或checking
。 failed
-
连接的一个或多个 ICE 传输处于
failed
状态。 closed
-
RTCPeerConnection
已关闭。
示例
const peerConnection = new RTCPeerConnection(configuration);
// …
const connectionState = peerConnection.connectionState;
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-peerconnection-connection-state |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。