TsgcTURNServer › Ereignisse › OnTURNChannelDataDiscarded
Wird ausgelöst, wenn eine ChannelData-Nachricht verworfen wird, weil die Kanalnummer ungültig ist oder keine Berechtigung hat.
property OnTURNChannelDataDiscarded: TsgcTURNChannelDataDiscardedEvent;
// TsgcTURNChannelDataDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aChannelData: TsgcTURNChannelData; const aReason: string) of object
—
Wird ausgelöst, wenn der Server ein eingehendes ChannelData-Datagramm stillschweigend verwirft, ohne es weiterzuleiten. Typische Gründe, die in aReason getragen werden, sind: Kanalnummer außerhalb des zulässigen Bereichs 0x4000–0x7FFF, kein Channel-Binding auf der Allocation, Channel-Binding ist abgelaufen, keine passende Permission für die gebundene Peer-Adresse installiert oder das Datagramm ist kürzer als die im 4-Byte-Header angekündigte Länge. aChannelData stellt die Kanalnummer und die verworfene Roh-Payload bereit. Gemäß RFC 5766 wird keine Fehlerantwort an den Client zurückgesendet; verwenden Sie dieses Ereignis für Diagnose oder Intrusion Detection, wenn unerwartete Verwerfungen auftreten. Läuft auf dem Listener-Thread, es sei denn, NotifyEvents leitet es um.
procedure TForm1.OnTURNChannelDataDiscarded(Sender: TObject;
const aSocket: TsgcSocketConnection; const aChannelData: TsgcTURNChannelData;
const aReason: string);
begin
Memo1.Lines.Add(Format('ChannelData dropped from %s: %s',
[aSocket.PeerIP, aReason]));
end;