RTCIceCandidate:foundation 属性
RTCIceCandidate 接口中只读的 foundation 属性是一个字符串,它允许在多个 RTCIceTransport 对象之间关联来自同一网络路径的候选者。
当候选者具有相同的 foundation 时,它们
- 具有相同的类型:“host”、“relayed”、“server reflexive”或“peer reflexive”。
- 具有相同的“bases”,这些“bases”共享相同的 IP 地址和传输协议,但不一定共享相同的端口。请注意,IP 地址是 ICE 代理发送该候选者的网络接口的 IP 地址。
- 它们来自具有相同 IP 地址的
STUN或 TURN 服务器。
这用于帮助优化 ICE 性能,同时优先排序和关联出现在多个 RTCIceTransport 对象上的候选者。
值
一个字符串,唯一标识在所有可用的 RTCIceTransport 对象上的候选者。
注意:如果 port 为 null — 并且 port 受 user agent 支持 — 则将该候选者传递给 addIceCandidate() 会失败,并抛出 OperationError 异常。
用法说明
考虑这个描述 ICE 候选的 SDP 属性行(a-line):
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host
字段 "4234997325" 就是 foundation。
示例
此代码段使用两个候选者的 foundation 来确定它们是否实际上是同一个候选者。
js
if (candidate1.foundation === candidate2.foundation) {
/* the two candidates are the same, even if they're on
different transports */
}
规范
| 规范 |
|---|
| WebRTC:浏览器中的实时通信 # dom-rtcicecandidate-foundation |
浏览器兼容性
加载中…