TsgcTURNServer › Olaylar › OnTURNMessageDiscarded
Sunucu tarafından alınan bir TURN mesajı, herhangi bir yanıt üretilmeden önce atıldığında tetiklenir.
property OnTURNMessageDiscarded: TsgcTURNMessageDiscardedEvent;
// TsgcTURNMessageDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod; const aMessage: TsgcSTUN_Message; const aReason: string) of object
—
Sunucu, geri bir yanıt veya hata göndermeden gelen bir STUN/TURN mesajını bıraktığında tetiklenir. aMethod, başlıkta algılanan yöntemi (Allocate, Refresh, CreatePermission, ChannelBind, Send, Data) tanımlar, aMessage ayrıştırılmış STUN mesajını ortaya çıkarır ve aReason datagramın neden atıldığını açıklar — tipik nedenler arasında Send göstergeleri için eksik tahsis, XOR-PEER-ADDRESS tarafından adreslenen peer için izin yüklenmemiş olması, bozuk başlık, desteklenmeyen yöntem veya hız sınırlı kaynak yer alır. Olayı tanılama ve izinsiz giriş algılama için kullanın; OnSTUNRequestError'ın aksine bu olay, hiçbir yanıtın üretilmediği RFC-sessiz atma yolu için tetiklenir. NotifyEvents onu yönlendirmediği sürece dinleyici iş parçacığında çalışır.
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;