RTCPeerConnection: iceConnectionState 属性
**iceConnectionState
** 是 RTCPeerConnection
接口的只读属性,它返回一个字符串,表示与 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 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。