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 候选的字符串;其值为
rtp
或rtcp
,并从candidate
a 行字符串中的"component-id"
字段派生而来。 foundation
只读-
返回包含唯一标识符的字符串,该标识符对于相同类型的任何候选都相同,共享相同的基础(ICE 代理发送候选的地址),并来自相同的 STUN 服务器。这用于帮助优化 ICE 性能,同时优先考虑和关联出现在多个
RTCIceTransport
对象上的候选。 port
只读-
表示候选端口号的整数值。
priority
只读-
表示候选优先级的长整数值。
protocol
只读-
指示候选协议是
"tcp"
还是"udp"
的字符串。 -
如果候选派生自另一个候选,则
relatedAddress
是包含该主机候选 IP 地址的字符串。对于主机候选,此值为null
。 -
对于派生自另一个候选的候选(例如中继或反射候选),
relatedPort
是一个数字,指示此候选派生自的候选的端口号。对于主机候选,relatedPort
属性为null
。 sdpMid
只读-
指定候选媒体流标识符标签的字符串,该标签唯一标识与候选关联的组件内的媒体流,或者如果不存在此类关联,则为
null
。 sdpMLineIndex
只读-
如果非
null
,则sdpMLineIndex
指示媒体描述(如 RFC 4566 中所定义)在与候选关联的 SDP 中的基于零的索引号。 tcpType
只读-
如果
protocol
为"tcp"
,则tcpType
表示 TCP 候选的类型。否则,tcpType
为null
。 type
只读-
指示候选类型的字符串,作为
RTCIceCandidate.type
上列出的字符串之一。 usernameFragment
只读-
包含随机生成的用户名片段 (“ice-ufrag”) 的字符串,ICE 与随机生成的密码 (“ice-pwd”) 一起用于消息完整性。您可以使用此字符串来验证 ICE 生成;ICE 过程的每次生成都将使用相同的
usernameFragment
,即使跨 ICE 重启也是如此。
实例方法
toJSON()
-
返回
RTCIceCandidate
当前配置的 JSON 表示形式。表示形式的格式与可以可选地传递给RTCIceCandidate()
构造函数以配置候选的candidateInfo
对象相同。
示例
有关示例,请参阅文章 信令和视频通话,其中演示了整个过程。
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # rtcicecandidate-interface |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。