TsgcTURNServerEvents › OnTURNMessageDiscarded

OnTURNMessageDiscarded Événement

Déclenché lorsqu'un message TURN reçu par le serveur est ignoré avant qu'une réponse ne soit produite.

Syntaxe

property OnTURNMessageDiscarded: TsgcTURNMessageDiscardedEvent;
// TsgcTURNMessageDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod; const aMessage: TsgcSTUN_Message; const aReason: string) of object

Valeur par défaut

Remarques

Déclenché lorsque le serveur abandonne un message STUN/TURN entrant sans envoyer de réponse ni d'erreur. aMethod identifie la méthode (Allocate, Refresh, CreatePermission, ChannelBind, Send, Data) détectée dans l'en-tête, aMessage expose le message STUN analysé et aReason décrit pourquoi le datagramme a été rejeté — les causes typiques incluent l'absence d'allocation pour les indications Send, l'absence de permission installée pour le pair adressé par XOR-PEER-ADDRESS, un en-tête malformé, une méthode non supportée ou une source limitée en débit. Utilisez l'événement pour les diagnostics et la détection d'intrusion ; contrairement à OnSTUNRequestError, cet événement se déclenche pour le chemin de rejet silencieux RFC où aucune réponse n'est jamais produite. S'exécute sur le thread d'écoute sauf si NotifyEvents le redirige.

Exemple

procedure TForm1.OnTURNMessageDiscarded(Sender: TObject;
  const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod;
  const aMessage: TsgcSTUN_Message; const aReason: string);
begin
  Memo1.Lines.Add(Format('TURN message dropped from %s: %s',
    [aSocket.PeerIP, aReason]));
end;

Retour aux événements