TsgcTURNServer › Events › OnTURNMessageDiscarded
Wywoływane, gdy wiadomość TURN odebrana przez serwer jest odrzucana przed wygenerowaniem jakiejkolwiek odpowiedzi.
property OnTURNMessageDiscarded: TsgcTURNMessageDiscardedEvent;
// TsgcTURNMessageDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod; const aMessage: TsgcSTUN_Message; const aReason: string) of object
—
Wywoływane, gdy serwer odrzuca przychodzącą wiadomość STUN/TURN bez wysyłania odpowiedzi ani błędu. aMethod identyfikuje metodę (Allocate, Refresh, CreatePermission, ChannelBind, Send, Data) wykrytą w nagłówku, aMessage udostępnia przeanalizowaną wiadomość STUN, a aReason opisuje przyczynę odrzucenia datagramu — typowe przyczyny obejmują brak przydziału dla wskazań Send, brak zainstalowanego uprawnienia dla partnera adresowanego przez XOR-PEER-ADDRESS, zniekształcony nagłówek, nieobsługiwaną metodę lub ograniczenie szybkości źródła. Zdarzenia można użyć do diagnostyki i wykrywania włamań; w odróżnieniu od OnSTUNRequestError zdarzenie to jest wywoływane dla cichego odrzucenia zgodnego z RFC, gdy nie jest generowana żadna odpowiedź. Uruchamiane w wątku nasłuchującym, chyba że NotifyEvents przekieruje je inaczej.
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;