TsgcTURNServerEventos › OnSTUNRequestError

OnSTUNRequestError Evento

Se activa antes de que el servidor envíe una respuesta de error STUN/TURN; permite al manejador inspeccionar o suprimir la respuesta.

Sintaxis

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

Valor Predeterminado

Observaciones

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.

Ejemplo

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;

Volver a Eventos