RTCIceTransportState - 定义了传输状态的枚举字符串

RTCIceTransportState 枚举类型定义了可以由 RTCIceTransport 对象上的 state 属性返回的字符串值。传输状态指示当前正在进行候选者收集过程的哪个阶段。

"new"

RTCIceTransport 当前正在收集本地候选者,或者正在等待远程设备开始发送远程候选者,或者两者都有。在这种状态下,尚未开始检查候选者以寻找可以接受的候选者。

"checking"

至少接收到一个远程候选者,并且 RTCIceTransport 已开始检查远程候选和本地候选的配对,以便尝试识别可用于建立连接的可行配对。请记住,本地候选者的收集可能仍在进行中,同样,远程设备也可能仍在收集自己的候选者。

"connected"

找到并选择了一个可行的候选对,RTCIceTransport 已使用该对将两个对等点连接在一起。但是,仍然需要考虑候选配对,并且在两个设备中的一个或两个上可能仍在进行聚集。

如果任一对等方决定取消同意使用所选候选对,则传输可以从 "connected" 状态恢复为 "checking" 状态,如果没有剩余候选者可以进行传输,但一个或两个客户端仍在收集候选者,则可能会恢复为 "disconnected"

"completed"

传输已完成本地候选者的收集,并已收到来自远程对等方的通知,通知将不再发送候选者。另外,已经考虑了所有候选对,并选择了一对供使用。如果对所有成功的候选对的同意检查均未通过,则传输状态将更改为 "failed"

"disconnected"

ICE 代理已确定此 RTCIceTransport 已失去连接。该情况不是失败状态(即 "failed")。值 "disconnected" 表示发生了暂时性问题,该问题断开了连接,但是该问题可以自动解决,而您的代码无需采取任何措施。有关其他详细信息,请参见断开状态

"failed"

RTCIceTransport 已完成收集过程,已从远程对等方收到 “没有更多候选者” 通知,并已完成对候选者的检查,但未成功找到有效且可征得同意的候选对。 这是终止状态,表示无法建立或维持连接。

"closed"

传输已关闭,并且不再响应 STUN 请求。

使用注意

如果 ICE 重新启动,则候选者收集和连接性检查过程将重新开始。如果在状态为 "completed" 时重新启动,则将导致从 "connected" 状态过渡。如果重启是在短暂的 "disconnected" 状态下发生的,则该状态将转换为 "checking" 状态

断开状态

"disconnected" 是一种短暂状态,当两个对等方之间的连接发生故障时,WebRTC 基础设施可以在连接再次可用时自动进行更正。因此它不是故障状态。相反,您可以认为 "disconnected" 类似于 "checking",但是附加的信息表明连接已经工作,但目前还没有工作。

每个用户代理和平台都可能具有自己的场景,这些场景可能会触发 "disconnected" 状态。可能的原因包括:

  • 连接所使用的网络接口已脱机。
  • STUN 发送到远程设备的请求反复未得到答复。

当传输已完成检查所有现有候选对并且尚未找到可用的对时,或者找到了有效对,但由于同意使用被拒绝,也可能变成 "disconnected" 状态。在这种情况下,传输仍在继续收集候选项,和 / 或等待远程对等方发送候选项。

规范

规范 状态 备注
WebRTC 1.0: Real-time Communication Between Browsers
RTCIceRole 的定义
候选推荐 初始定义。

桌面浏览器兼容性

暂无兼容数据