TsgcSTUNServer › Olaylar › OnSTUNRequestSuccess
İşleyicinin yanıtı inceleyebilmesi veya veto edebilmesi için sunucu başarılı bir Binding Yanıtı göndermeden önce tetiklenir.
property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Sunucu bir Binding Request'i başarıyla işledikten ve istemcinin genel (eşlenmiş) adresini taşıyan yanıtı oluşturduktan sonra, ancak datagram gönderilmeden önce tetiklenir. aRequest, orijinal STUN mesajını (işlem kimliği, öznitelikler, kaynak uç nokta) sunar ve aResponse, iletilmek üzere olan Binding Response'u sunar; her ikisi de günlüğe kaydetme veya denetleme için incelenebilir. Yanıtı sessizce atmak için Accept := False ayarlayın, örneğin özel oran sınırlaması veya istemci başına kara liste uygulamak için. NotifyEvents yönlendirmediği sürece işleyici dinleyici iş parçacığında çalışır.
procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
var Accept: Boolean);
begin
Memo1.Lines.Add('Binding OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
Accept := True;
end;