RTCIceCandidate: port 属性

Baseline 2024
新推出

自 2024 年 5 月以来,此功能已在最新设备和浏览器版本中可用。此功能可能不适用于较旧的设备或浏览器。

RTCIceCandidate 接口的只读属性 port 包含在 RTCIceCandidate.address 给出的地址上,候选对端可以到达的设备上的端口号。

port 字段的值是从传递给 RTCIceCandidate() 构造函数的 candidateInfo 选项对象设置的。你不能直接在选项对象中指定 port 的值,但如果 candidate a-line 格式正确,它的值会自动从该对象的 candidate a-line 中提取。

一个 16 位数字,表示在 address 指示的地址上,候选对端可以到达的设备上的端口号。

如果 port 未在 candidate 中指定,或者 candidate 字符串无法正确解析,则 port 初始化为 null

注意:如果 portnull,则将候选对象传递给 addIceCandidate() 将会失败,并抛出 OperationError 异常。这仅适用于实现 port 的候选。

用法说明

考虑这个描述 ICE 候选的 SDP 属性行(a-line):

a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host

端口号在第六个字段中找到,该字段为 "44323"。在这种情况下,port 的值为 44323。

示例

此代码片段获取候选的 IP 地址和端口号,并将它们存储在对象中以供将来使用。

js
const candidateLoc = {
  address: candidate.ip,
  port: candidate.port,
};

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcicecandidate-port

浏览器兼容性