TsgcTURNServerÉvénements › OnTURNCreateAllocation

OnTURNCreateAllocation Événement

Déclenché après qu'une nouvelle Allocation a été créée avec succès pour un client.

Syntaxe

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

Valeur par défaut

Remarques

Déclenché une fois par ALLOCATE réussi, juste après que l'allocation a été ajoutée à la table interne du serveur et que AllocateResponse a été envoyé au client. Allocation expose le contexte complet : LocalIP/LocalPort (endpoint d'écoute côté serveur), ReflexiveIP/ReflexivePort (adresse mappée du client), RelayIP/RelayPort (l'adresse de transport relayée annoncée au client via XOR-RELAYED-ADDRESS), Username/Realm, Lifetime / Expiry et les sous-collections Permissions / Channels. Utilisez-le pour mettre à jour les tableaux de bord opérationnels, la comptabilité ou les quotas par utilisateur. L'instance Allocation appartient au serveur — ne la libérez pas ; elle est passée à nouveau à OnTURNDeleteAllocation à l'expiration de l'allocation. S'exécute sur le thread d'écoute sauf si NotifyEvents le redirige.

Exemple

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;

Retour aux événements