RTCIceCandidate: type 属性
RTCIceCandidate 接口的只读 **type 属性指定了该对象代表的候选者类型。
type 字段的值是从传递给 RTCIceCandidate() 构造函数的 candidateInfo 选项对象设置的。您无法在选项对象中直接指定 type 的值,但如果其 candidate a-line(cand-type 字段)格式正确,其值会自动从该对象中提取。
值
一个字符串,其值是下面定义的其中一个。这些候选者类型按优先级排序;列表中越靠前,效率越高。
主机-
该候选者是一个 host 候选者,其中
RTCIceCandidate.address属性中指定的 IP 地址实际上是远程对等方的真实地址。 srflx-
该候选者是一个 server reflexive 候选者;
ip和端口是由 NAT 分配的绑定,当一个代理通过 NAT 向服务器发送数据包时使用。它们可以由 STUN 服务器和 TURN 服务器学习,以匿名地表示候选者的对等方。 prflx-
该候选者是一个 peer reflexive 候选者;
ip和端口是由 NAT 在发送 STUN 请求以匿名地表示候选者的对等方时分配的绑定。 relay-
该候选者是一个 relay 候选者,从 TURN 服务器获取。relay 候选者的 IP 地址是 TURN 服务器用于在两个对等方之间转发媒体的地址。
如果 type 是 null,则该信息在 candidate 的 a-line 中缺失,这将导致 RTCPeerConnection.addIceCandidate() 抛出 OperationError 异常。
示例
在此示例中,候选者的 type 用于为 host 候选者(其中 ip 直接指向远程对等方,而不是中介)呈现修改后的用户界面。
js
if (candidate.type === "host") {
showHostControls();
} else {
hideHostControls();
}
规范
| 规范 |
|---|
| WebRTC:浏览器中的实时通信 # dom-rtcicecandidate-type |
浏览器兼容性
加载中…