TsgcSTUNServerÉvénements › OnSTUNRequestError

OnSTUNRequestError Événement

Déclenché avant que le serveur n'envoie une réponse d'erreur STUN ; permet au gestionnaire d'inspecter ou de supprimer la réponse.

Syntaxe

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

Valeur par défaut

Remarques

Déclenché lorsque le serveur a construit une réponse d'erreur de liaison (par exemple 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute ou 438 Stale Nonce) et est sur le point de la renvoyer au client. Inspectez aRequest / aResponse — en particulier l'attribut ERROR-CODE de aResponse — pour journaliser la raison de l'échec. Définissez Accept := False pour ignorer le datagramme et laisser le client sans réponse, ce qui peut être utile pour éviter l'amplification lorsque des requêtes invalides répétées arrivent de la même source. Le gestionnaire s'exécute sur le thread d'écoute sauf si NotifyEvents sélectionne un autre mode.

Exemple

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;

Retour aux événements