TsgcSTUNServer › Ereignisse › OnSTUNRequestError
Wird ausgelöst, bevor der Server eine STUN-Fehlerantwort sendet; ermöglicht es dem Handler, die Antwort zu untersuchen oder zu unterdrücken.
property OnSTUNRequestError: TsgcSTUNRequestErrorEvent;
// TsgcSTUNRequestErrorEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest: TsgcSTUN_Message; const aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Wird ausgelöst, wenn der Server eine Binding-Fehlerantwort erstellt hat (zum Beispiel 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute oder 438 Stale Nonce) und im Begriff ist, sie an den Client zurückzusenden. Untersuchen 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 eine Verstärkung zu vermeiden, wenn wiederholt ungültige Anfragen von derselben Quelle eintreffen. Der Handler läuft im Listener-Thread, sofern NotifyEvents keinen anderen Modus auswählt.
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;