TsgcSTUNServer › メソッド › 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)。IANA が予約している STUN ポートに合わせるには 3478 を使用してください。 |
新しく作成された TIdSocketHandle、または同じ IP/ポートのエントリが既に存在する場合は既存のもの。ハンドルは内部 Bindings コレクションが所有しているため、呼び出し元が解放してはなりません。(TIdSocketHandle)
AddBinding は Active が True の間、既存のバインディングを停止することなくサーバーにリスニングエンドポイントを追加します。これを使用して、複数のインターフェース(例:同一ホスト上の IPv4 と IPv6)で STUN サービスを公開したり、サーバーが2番目のアドレス/ポートで到達可能である必要がある OTHER-ADDRESS 属性を有効にしたりできます。指定した IP/ポートがすでにバインドされている場合、既存のハンドルが返され、追加のソケットは開かれません。成功した Binding Responses で生成される OTHER-ADDRESS / RESPONSE-ORIGIN 属性はアクティブなバインディングのセットから導出されます。
oSTUN.AddBinding('0.0.0.0', 3478);
oSTUN.AddBinding('::', 3478);
oSTUN.Active := True;