TsgcSTUNServerメソッド › AddBinding

AddBinding メソッド

現在アクティブなバインディングを再起動することなく、STUNサーバーに追加のリッスンエンドポイント(IP/ポート)を追加します。

構文

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

パラメータ

名前タイプ説明
aIPAddressconst stringバインドするローカル IPv4/IPv6 アドレス。すべてのインターフェースでリッスンするには空文字列、0.0.0.0、または :: を使用します。
aPortIntegerSTUN サーバーがバインディングリクエストを受け付けるローカル 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;

メソッドに戻る