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 |
浏览器兼容性
加载中…