TsgcTURNServerEreignisse › OnTURNMessageDiscarded

OnTURNMessageDiscarded Ereignis

Wird ausgelöst, wenn eine vom Server empfangene TURN-Nachricht verworfen wird, bevor eine Antwort erzeugt wird.

Syntax

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

Standardwert

Hinweise

Wird ausgelöst, wenn der Server eine eingehende STUN/TURN-Nachricht verwirft, ohne eine Antwort oder einen Fehler zurückzusenden. aMethod identifiziert die Methode (Allocate, Refresh, CreatePermission, ChannelBind, Send, Data), die im Header erkannt wurde, aMessage stellt die geparste STUN-Nachricht bereit und aReason beschreibt, warum das Datagramm verworfen wurde — typische Ursachen sind fehlende Allocation für Send-Indications, keine installierte Berechtigung für den durch XOR-PEER-ADDRESS adressierten Peer, fehlerhafter Header, nicht unterstützte Methode oder ratenbegrenzte Quelle. Verwenden Sie das Ereignis für Diagnose und Eindringungserkennung; anders als OnSTUNRequestError wird dieses Ereignis für den RFC-konformen stillen Verwerfungspfad ausgelöst, bei dem niemals eine Antwort erzeugt wird. Läuft auf dem Listener-Thread, sofern NotifyEvents es nicht umleitet.

Beispiel

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;

Zurück zu Ereignissen