TsgcTURNServerÉvénements › OnSTUNRequestError

OnSTUNRequestError Événement

Déclenché avant que le serveur envoie une réponse d'erreur STUN/TURN ; 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 (par exemple 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) et s'apprête à la renvoyer au client. Inspectez aRequest / aResponse — en particulier l'attribut ERROR-CODE de aResponse — pour consigner la raison de l'échec. Définissez Accept := False pour supprimer 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('TURN error for ' + aSocket.PeerIP);
  Accept := True;
end;

Retour aux événements