TsgcTURNServer › Événements › OnSTUNRequestSuccess
Déclenché avant que le serveur n'envoie une réponse STUN/TURN réussie, afin que le gestionnaire puisse inspecter ou rejeter la réponse.
property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Déclenché après que le serveur a traité une requête avec succès et construit la réponse, mais avant l'envoi du datagramme. Se déclenche à chaque réponse STUN Binding et à chaque réponse TURN réussie (AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse). aRequest expose le message STUN/TURN original (identifiant de transaction, attributs, point de terminaison source) et aResponse expose la réponse sur le point d'être transmise ; les deux peuvent être inspectés pour la journalisation ou l'audit. Définissez Accept := False pour supprimer silencieusement la réponse — à utiliser avec parcimonie sur les méthodes TURN car le client retransmettra et une AllocateResponse abandonnée peut bloquer une allocation côté serveur. Le gestionnaire s'exécute sur le thread d'écoute sauf si NotifyEvents le redirige.
procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
var Accept: Boolean);
begin
Memo1.Lines.Add('TURN OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
Accept := True;
end;