TsgcSTUNServer › Methods › AddBinding
向 STUN 服务器添加额外的监听端点(IP/端口),无需重新启动当前活跃的绑定。
function AddBinding(const aIPAddress: string; aPort: Integer) : TIdSocketHandle;
| 名称 | 类型 | 描述 |
|---|---|---|
aIPAddress | const string | 要绑定的本地 IPv4/IPv6 地址。使用空字符串、0.0.0.0 或 :: 监听所有接口。 |
aPort | Integer | STUN 服务器接受绑定请求的本地 UDP 端口(1 到 65535)。使用 3478 以匹配 IANA 保留的 STUN 端口。 |
新创建的 TIdSocketHandle,或当相同 IP/端口的条目已存在时返回现有句柄。该句柄由内部 Bindings 集合拥有,调用方不得释放它。(TIdSocketHandle)
当 Active 为 True 时,AddBinding 向服务器添加一个监听端点,而不会停止任何已有的绑定。使用此方法可将 STUN 服务暴露在多个接口上(例如同一主机上的 IPv4 和 IPv6),或启用需要服务器在第二个地址/端口可达的 OTHER-ADDRESS 属性。若提供的 IP/端口已绑定,则返回现有句柄,不会额外打开套接字。成功的绑定响应中产生的 OTHER-ADDRESS / RESPONSE-ORIGIN 属性来源于活动绑定集合。
oSTUN.AddBinding('0.0.0.0', 3478);
oSTUN.AddBinding('::', 3478);
oSTUN.Active := True;