RTCIceCandidatePairStats: state 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

RTCIceCandidatePairStats 字典的 state 属性指示该候选对所属的 checklist 的状态。

一个字符串,其值是以下之一:

failed

已为该候选对执行了检查但失败。失败可能由于未收到响应,或响应表明发生了无法恢复的错误。

frozen

尚未为此候选对执行检查,并且在另一项检查成功之前,该检查的执行将被阻止。一旦该检查成功,该候选对将解冻并进入 waiting 状态。

in-progress

已为该候选对发起检查,但检查的事务仍在进行中。

succeeded

已成功完成对该候选对的检查。

waiting

尚未检查此候选对,但一旦此候选对成为 waiting 状态下剩余的最高优先级候选对,即可执行检查。

描述

ICE 检查列表

在 ICE 协商期间,ICE 层会构建一个checklist,这是一个潜在的 ICE 候选对列表。每个候选对都有一个状态,由字符串字面量表示。

A diagram showing how ICE candidate pairs change state as the checklist is analyzed

当候选对添加到 checklist 时,它最初处于 frozen 状态。一旦没有正在进行的检查阻止该候选对被分析,它就会被解冻并进入 waiting 状态。这可能在添加到 checklist 时立即发生。

每次检查一个候选对时,checklist 中剩余的下一个最高优先级的候选对会从 waiting 状态移至 in-progress 状态,并开始其检查。如果由于任何原因检查失败,该候选对将进入其最终状态 failed。如果检查成功,该候选对将最终处于 succeeded 状态。任何给定 ICE 候选对的 ICE checklist 状态可以在相应的 state 属性中找到。

规范

规范
WebRTC 统计 API 的标识符
# dom-rtcicecandidatepairstats-state

浏览器兼容性