TsgcSTUNServerOlaylar › OnSTUNRequestError

OnSTUNRequestError Olay

Sunucu bir STUN hata yanıtı göndermeden önce tetiklenir; işleyicinin yanıtı incelemesine veya bastırmasına olanak tanır.

Sözdizimi

property OnSTUNRequestError: TsgcSTUNRequestErrorEvent;
// TsgcSTUNRequestErrorEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest: TsgcSTUN_Message; const aResponse: TsgcSTUN_Message; var Accept: Boolean) of object

Varsayılan Değer

Remarks

Sunucu bir Binding Error Response (örneğin 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute veya 438 Stale Nonce) oluşturduğunda ve bunu istemciye geri göndermek üzereyken tetiklenir. Başarısızlık nedenini günlüğe kaydetmek için aRequest / aResponse'u — özellikle aResponse'un ERROR-CODE özniteliğini — inceleyin. Datagramı düşürmek ve istemciyi yanıtsız bırakmak için Accept := False olarak ayarlayın, bu da aynı kaynaktan tekrar tekrar geçersiz istekler geldiğinde amplifikasyonu önlemek için yararlı olabilir. İşleyici, NotifyEvents başka bir mod seçmedikçe dinleyici thread'inde çalışır.

Örnek

procedure TForm1.OnSTUNRequestError(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest: TsgcSTUN_Message;
  const aResponse: TsgcSTUN_Message; var Accept: Boolean);
begin
  Memo1.Lines.Add('STUN error for ' + aSocket.PeerIP);
  Accept := True;
end;

Olaylara Dön