TsgcSTUNServerEventos › OnSTUNRequestSuccess

OnSTUNRequestSuccess Evento

Se activa antes de que el servidor envíe una respuesta de enlace correcta para que el manejador pueda inspeccionar o vetar la respuesta.

Sintaxis

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

Valor Predeterminado

Observaciones

Se activa después de que el servidor ha procesado correctamente una Binding Request y ha construido la respuesta con la dirección pública (mapeada) del cliente, pero antes de que se envíe el datagrama. aRequest expone el mensaje STUN original (id de transacción, atributos, endpoint de origen) y aResponse expone la Binding Response que está a punto de transmitirse; ambos pueden inspeccionarse para registro o auditoría. Establezca Accept := False para descartar la respuesta silenciosamente, por ejemplo para implementar limitación de tasa personalizada o lista negra por cliente. El manejador se ejecuta en el hilo del listener a menos que NotifyEvents lo redirija.

Ejemplo

procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
  var Accept: Boolean);
begin
  Memo1.Lines.Add('Binding OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
  Accept := True;
end;

Volver a Eventos