TsgcTURNServerEvents › OnSTUNRequestError

OnSTUNRequestError Ereignis

Wird ausgelöst, bevor der Server eine STUN/TURN-Fehlerantwort sendet; ermöglicht es dem Handler, die Antwort zu untersuchen oder zu unterdrücken.

Syntax

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

Standardwert

Hinweise

Wird ausgelöst, wenn der Server eine Fehlerantwort erstellt hat (zum Beispiel 400 Bad Request, 401 Unauthorized, 403 Forbidden, 437 Allocation Mismatch, 438 Stale Nonce, 441 Wrong Credentials, 442 Unsupported Transport Protocol, 486 Allocation Quota Reached, 508 Insufficient Capacity) und im Begriff ist, sie an den Client zurückzusenden. Inspizieren Sie aRequest / aResponse — insbesondere das ERROR-CODE-Attribut von aResponse —, um den Fehlergrund zu protokollieren. Setzen Sie Accept := False, um das Datagramm zu verwerfen und den Client ohne Antwort zu lassen, was nützlich sein kann, um Amplifikation zu vermeiden, wenn wiederholt ungültige Anfragen von derselben Quelle eintreffen. Der Handler wird auf dem Listener-Thread ausgeführt, sofern NotifyEvents keinen anderen Modus auswählt.

Beispiel

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

Zurück zu Ereignissen