TsgcSTUNServerÉvénements › OnSTUNRequestSuccess

OnSTUNRequestSuccess Event

Déclenché avant que le serveur n'envoie une réponse de liaison réussie afin que le gestionnaire puisse inspecter ou opposer son veto à la réponse.

Syntaxe

property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object

Valeur par défaut

Remarques

Déclenché après que le serveur a traité une requête Binding avec succès et construit la réponse portant l'adresse publique (mappée) du client, mais avant l'envoi du datagramme. aRequest expose le message STUN original (identifiant de transaction, attributs, point de terminaison source) et aResponse expose la réponse Binding qui est sur le point d'être transmise ; les deux peuvent être inspectés à des fins de journalisation ou d'audit. Définissez Accept := False pour rejeter silencieusement la réponse, par exemple pour implémenter une limitation de débit personnalisée ou une liste noire par client. Le gestionnaire s'exécute sur le thread d'écoute sauf si NotifyEvents le redirige.

Exemple

procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
  var Accept: Boolean);
begin
  Memo1.Lines.Add('Binding OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
  Accept := True;
end;

Retour aux événements