RTCIceCandidate

RTCIceCandidate 接口(WebRTC API 的一部分)表示候选交互式连接建立 (ICE) 配置,可用于建立 RTCPeerConnection

ICE 候选描述了 WebRTC 与远程设备通信所需的协议和路由。在启动 WebRTC 对等连接时,连接的每一端通常会提出多个候选,直到它们就一个描述它们认为最佳的连接达成一致。然后,WebRTC 使用该候选的详细信息来启动连接。

有关 ICE 过程工作原理的详细信息,请参阅 WebRTC 会话的生命周期。文章 WebRTC 连接 提供了其他有用的详细信息。

构造函数

RTCIceCandidate()

创建 RTCIceCandidate 对象以表示单个 ICE 候选,可以选择基于配置对象进行配置。

注意:为了向后兼容,构造函数还接受包含 candidate 属性值的字符串作为输入,而不是配置对象。

实例属性

address 只读

包含候选 IP 地址的字符串。

candidate 只读

表示候选传输地址的字符串,可用于连接检查。此地址的格式为 RFC 5245 中定义的 candidate-attribute。如果 RTCIceCandidate 是“候选结束”指示符,则此字符串为空 ("")。

component 只读

指示候选是 RTP 候选还是 RTCP 候选的字符串;其值为 rtprtcp,并从 candidate a 行字符串中的 "component-id" 字段派生而来。

foundation 只读

返回包含唯一标识符的字符串,该标识符对于相同类型的任何候选都相同,共享相同的基础(ICE 代理发送候选的地址),并来自相同的 STUN 服务器。这用于帮助优化 ICE 性能,同时优先考虑和关联出现在多个 RTCIceTransport 对象上的候选。

port 只读

表示候选端口号的整数值。

priority 只读

表示候选优先级的长整数值。

protocol 只读

指示候选协议是 "tcp" 还是 "udp" 的字符串。

relatedAddress 只读

如果候选派生自另一个候选,则 relatedAddress 是包含该主机候选 IP 地址的字符串。对于主机候选,此值为 null

relatedPort 只读

对于派生自另一个候选的候选(例如中继或反射候选),relatedPort 是一个数字,指示此候选派生自的候选的端口号。对于主机候选,relatedPort 属性为 null

sdpMid 只读

指定候选媒体流标识符标签的字符串,该标签唯一标识与候选关联的组件内的媒体流,或者如果不存在此类关联,则为 null

sdpMLineIndex 只读

如果非 null,则 sdpMLineIndex 指示媒体描述(如 RFC 4566 中所定义)在与候选关联的 SDP 中的基于零的索引号。

tcpType 只读

如果 protocol"tcp",则 tcpType 表示 TCP 候选的类型。否则,tcpTypenull

type 只读

指示候选类型的字符串,作为 RTCIceCandidate.type 上列出的字符串之一。

usernameFragment 只读

包含随机生成的用户名片段 (“ice-ufrag”) 的字符串,ICE 与随机生成的密码 (“ice-pwd”) 一起用于消息完整性。您可以使用此字符串来验证 ICE 生成;ICE 过程的每次生成都将使用相同的 usernameFragment,即使跨 ICE 重启也是如此。

实例方法

toJSON()

返回 RTCIceCandidate 当前配置的 JSON 表示形式。表示形式的格式与可以可选地传递给 RTCIceCandidate() 构造函数以配置候选的 candidateInfo 对象相同。

示例

有关示例,请参阅文章 信令和视频通话,其中演示了整个过程。

规范

规范
WebRTC:浏览器中的实时通信
# rtcicecandidate-interface

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。