TsgcTURNServerEventos › OnTURNBeforeRelayIndication

OnTURNBeforeRelayIndication Evento

Se activa antes de que el servidor reenvíe una carga útil de Send-Indication a un par; establezca Accept en False para descartar el paquete.

Sintaxis

property OnTURNBeforeRelayIndication: TsgcTURNBeforeRelayIndicationEvent;
// TsgcTURNBeforeRelayIndicationEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aPeerIP: string; aPeerPort: Word; const aBytes: TBytes; var Accept: Boolean) of object

Valor Predeterminado

Observaciones

Se dispara en el camino de retransmisión activo, una vez por cada Send-Indication (RFC 5766 sección 10): el cliente ha enviado una indicación SEND que contiene datos de la aplicación que deben reenviarse a un par para el que ya existe un permiso. aPeerIP/aPeerPort identifican al par de destino (tomados de XOR-PEER-ADDRESS) y aBytes contiene la carga útil que está a punto de ser retransmitida en el socket de retransmisión de la Asignación. Utilice el evento para inspeccionar o capturar el tráfico retransmitido (por ejemplo, para monitorizar paquetes de audio/vídeo enviados a través del servidor TURN) o para implementar limitación de velocidad por par. Establezca Accept := False para descartar silenciosamente el datagrama; no se envía ningún error al cliente remitente. Este evento se dispara en el camino de retransmisión y se ejecuta de forma síncrona a menos que NotifyEvents lo redirija; considere neNoSync bajo carga elevada para evitar contrapresión en el receptor. aBytes es una vista de solo lectura; no modifique su contenido.

Ejemplo

procedure TForm1.OnTURNBeforeRelayIndication(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aPeerIP: string; aPeerPort: Word;
  const aBytes: TBytes; var Accept: Boolean);
begin
  vBytesRelayed := vBytesRelayed + Length(aBytes);
  Accept := True;
end;

Volver a Eventos