TsgcTURNServerEvents › OnTURNMessageDiscarded

OnTURNMessageDiscarded Evento

Se genera cuando el servidor TURN descarta un mensaje recibido antes de producir ninguna respuesta.

Sintaxis

property OnTURNMessageDiscarded: TsgcTURNMessageDiscardedEvent;
// TsgcTURNMessageDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod; const aMessage: TsgcSTUN_Message; const aReason: string) of object

Valor Predeterminado

Observaciones

Se activa cuando el servidor descarta un mensaje STUN/TURN entrante sin enviar respuesta ni error. aMethod identifica el método (Allocate, Refresh, CreatePermission, ChannelBind, Send, Data) detectado en la cabecera, aMessage expone el mensaje STUN analizado y aReason describe por qué se descartó el datagrama — las causas habituales incluyen asignación faltante para indicaciones Send, ningún permiso instalado para el par direccionado por XOR-PEER-ADDRESS, cabecera mal formada, método no compatible o fuente limitada por velocidad. Utilice el evento para diagnóstico y detección de intrusiones; a diferencia de OnSTUNRequestError, este evento se activa para la ruta de descarte silenciosa según RFC, donde nunca se produce respuesta. Se ejecuta en el hilo de escucha a menos que NotifyEvents lo redirija.

Ejemplo

procedure TForm1.OnTURNMessageDiscarded(Sender: TObject;
  const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod;
  const aMessage: TsgcSTUN_Message; const aReason: string);
begin
  Memo1.Lines.Add(Format('TURN message dropped from %s: %s',
    [aSocket.PeerIP, aReason]));
end;

Volver a Eventos