TsgcTURNServer › Olaylar › OnTURNChannelDataDiscarded
Kanal numarası geçersiz olduğu veya izni olmadığı için bir ChannelData mesajı bırakıldığında tetiklenir.
property OnTURNChannelDataDiscarded: TsgcTURNChannelDataDiscardedEvent;
// TsgcTURNChannelDataDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aChannelData: TsgcTURNChannelData; const aReason: string) of object
—
Sunucu, gelen bir ChannelData datagram'ını iletmeden sessizce düşürdüğünde tetiklenir. aReason içinde taşınan tipik nedenler şunları içerir: yasal 0x4000–0x7FFF aralığının dışında kanal numarası, Tahsiste kanal binding'i yok, kanal binding'inin süresi dolmuş, bağlı eş adresi için eşleşen izin yüklenmemiş veya datagram, 4 baytlık başlıkta duyurulan uzunluktan daha kısa. aChannelData, kanal numarasını ve atılan ham yükü gösterir. RFC 5766 uyarınca istemciye geri herhangi bir hata yanıtı gönderilmez; beklenmedik düşürmeler göründüğünde tanı veya saldırı algılama için bu olayı kullanın. NotifyEvents onu yeniden yönlendirmedikçe dinleyici iş parçacığında çalışır.
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;