TsgcSTUNServerMethods › AddBinding

AddBinding 方法

向 STUN 服务器添加额外的监听端点(IP/端口),无需重新启动当前活跃的绑定。

语法

function AddBinding(const aIPAddress: string; aPort: Integer) : TIdSocketHandle;

参数

名称类型描述
aIPAddressconst string要绑定的本地 IPv4/IPv6 地址。使用空字符串、0.0.0.0:: 监听所有接口。
aPortIntegerSTUN 服务器接受绑定请求的本地 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;

返回方法