TsgcSTUNServerZdarzenia › OnSTUNRequestError

OnSTUNRequestError Zdarzenie

Wywoływane przed wysłaniem przez serwer odpowiedzi błędu STUN; umożliwia procedurze obsługi zbadanie lub pominięcie odpowiedzi.

Składnia

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

Wartość domyślna

Uwagi

Wywoływane, gdy serwer zbudował odpowiedź błędu powiązania (na przykład 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute lub 438 Stale Nonce) i zamierza ją odesłać klientowi. Należy sprawdzić aRequest / aResponse — w szczególności atrybut ERROR-CODE w aResponse — aby zarejestrować przyczynę błędu. Ustawienie Accept := False powoduje odrzucenie datagramu i pozostawienie klienta bez odpowiedzi, co może być przydatne do zapobiegania amplifikacji w przypadku powtarzających się nieprawidłowych żądań z tego samego źródła. Procedura obsługi działa w wątku nasłuchującym, chyba że NotifyEvents wybierze inny tryb.

Przykład

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;

Powrót do Zdarzeń