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