TsgcTURNServer › Eventos › OnSTUNRequestError
Se activa antes de que el servidor envíe una respuesta de error STUN/TURN; permite al manejador inspeccionar o suprimir la respuesta.
property OnSTUNRequestError: TsgcSTUNRequestErrorEvent;
// TsgcSTUNRequestErrorEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest: TsgcSTUN_Message; const aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Se activa cuando el servidor ha generado una respuesta de error (por ejemplo 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) y está a punto de enviarla al cliente. Inspeccione aRequest / aResponse — en particular el atributo ERROR-CODE de aResponse — para registrar el motivo del error. Establezca Accept := False para descartar el datagrama y dejar al cliente sin respuesta, lo que puede ser útil para evitar amplificación cuando llegan solicitudes inválidas repetidas desde la misma fuente. El manejador se ejecuta en el hilo del listener a menos que NotifyEvents seleccione otro modo.
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;