TsgcSTUNServerEventos › OnSTUNRequestError

OnSTUNRequestError Evento

Se activa antes de que el servidor envíe una respuesta de error STUN; permite que el controlador inspeccione o suprima 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 construido una respuesta de error de Binding (por ejemplo, 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute o 438 Stale Nonce) 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 se reciben solicitudes no vá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('STUN error for ' + aSocket.PeerIP);
  Accept := True;
end;

Volver a Eventos