TsgcTURNServerイベント › OnTURNCreateAllocation

OnTURNCreateAllocation イベント

クライアントに対して新しい Allocation が正常に作成された後に発生します。

構文

property OnTURNCreateAllocation: TsgcTURNAllocationEvent;
// TsgcTURNAllocationEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem) of object

デフォルト値

解説

成功した各ALLOCATEごとに1回、AllocationがサーバーのテーブルにAllocateResponseが追加され、AllocateResponseがクライアントにディスパッチされた直後に発生します。Allocationは完全なコンテキストを公開します: LocalIP/LocalPort(サーバー側のリッスンエンドポイント)、ReflexiveIP/ReflexivePort(クライアントのマップされたアドレス)、RelayIP/RelayPort(XOR-RELAYED-ADDRESSを介してクライアントにアドバタイズされるリレーされたトランスポートアドレス)、Username/RealmLifetime / Expiry、およびPermissions / Channelsサブコレクション。運用ダッシュボード、アカウンティング、またはユーザーごとのクォータを更新するために使用してください。Allocationインスタンスはサーバーが所有しています。解放しないでください。割り当てが期限切れになるとOnTURNDeleteAllocationに再び渡されます。NotifyEventsがリダイレクトしない限り、リスナースレッドで実行されます。

使用例

procedure TForm1.OnTURNCreateAllocation(Sender: TObject;
  const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem);
begin
  Memo1.Lines.Add(Format('Allocation created: user=%s relay=%s:%d lifetime=%d',
    [Allocation.Username, Allocation.RelayIP, Allocation.RelayPort,
     Allocation.Lifetime]));
end;

イベントに戻る