RTCIceCandidate:relatedPort 属性
RTCIceCandidate
接口的只读 relatedPort
属性指示反射候选或中继候选的端口号。
如果候选是主机候选(即其 address
实际上是远程对等方的真实 IP 地址),则 relatedPort
为 null
。
relatedPort
字段的值从传递给 RTCIceCandidate()
构造函数的 candidateInfo
选项对象中设置。您无法在选项对象中直接指定 relatedPort
的值,但如果其格式正确(rel-port
字段),则会自动从对象的 candidate
a 行中提取其值。
相关地址 (relatedAddress
) 和端口根本没有被 ICE 本身使用;它们仅用于分析和诊断目的,并且其包含可能会被安全系统阻止,因此不要依赖它们具有非 null
值。
值
一个无符号的 16 位值,包含候选的相关端口号(如果有)。对于对等方和服务器反射候选,相关地址和端口描述该候选的基础。对于中继候选,相关地址和端口提供 TURN 服务器选择的映射地址。
对于主机候选,relatedPort
为 null
,这意味着该字段未包含在候选的 a 行中。
使用说明
示例
在此示例中,检查候选的 type
,然后根据候选类型呈现调试输出,包括候选的类型、地址 (ip
和 port
) 以及相关地址 (relatedAddress
和 relatedPort
)。
js
const ip = candidate.address;
const port = candidate.port;
const relIP = candidate.relatedAddress;
const relPort = candidate.relatedPort;
if (relIP && relPort) {
console.log(
`Candidate type '${type}' — contact address: ${ip} ${port}, related address: ${relIP} ${relPort}`,
);
} else {
console.log(`Host candidate address is ${ip} ${port}`);
}
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-rtcicecandidate-relatedport |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。