TsgcTURNServer › 方法 › AddBinding
在不停止现有绑定的情况下,向 TURN 服务器添加额外的监听端点(IP/端口)。
function AddBinding(const aIPAddress: string; aPort: Integer) : TIdSocketHandle;
| 名称 | 类型 | 描述 |
|---|---|---|
aIPAddress | const string | 要绑定的本地 IPv4/IPv6 地址。使用空字符串、0.0.0.0 或 :: 监听所有接口。 |
aPort | Integer | TURN 服务器接受客户端请求的本地 UDP 端口(1 到 65535)。使用 3478 以匹配 IANA 保留的 TURN 端口。 |
新创建的 TIdSocketHandle,或当相同 IP/端口的条目已存在时返回现有句柄。该句柄由内部 Bindings 集合拥有,调用方不得释放它。(TIdSocketHandle)
AddBinding 在 Active 为 True 时向服务器添加监听端点,而不停止任何已有的绑定。使用它可在多个接口上公开 TURN 服务(例如同一主机上的 IPv4 和 IPv6),或在备用端口上接受客户端。每个新增端点均可接收完整的 TURN 方法集(ALLOCATE、REFRESH、CREATE-PERMISSION、CHANNEL-BIND、Send/Data 指示和 ChannelData)以及普通 STUN 绑定请求。若提供的 IP/端口已绑定,则返回现有句柄而不再打开额外套接字。分配给各 Allocation 的中继端口不受此调用影响,这些端口从 TURNOptions.Allocation.MinPort-MaxPort 范围中获取。
oTURN.AddBinding('0.0.0.0', 3478);
oTURN.AddBinding('::', 3478);
oTURN.Active := True;