TsgcTURNServer方法 › AddBinding

AddBinding 方法

在不停止现有绑定的情况下,向 TURN 服务器添加额外的监听端点(IP/端口)。

语法

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

参数

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

返回方法