TsgcTURNServerGebeurtenissen › OnTURNBeforeRelayIndication

OnTURNBeforeRelayIndication Gebeurtenis

Wordt geactiveerd voordat de server een Send-Indication-payload naar een peer doorstuurt; stel Accept in op False om het pakket te laten vallen.

Syntaxis

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

Standaardwaarde

Opmerkingen

Wordt geactiveerd op het relay-hotpad, één keer per Send-Indication (RFC 5766 sectie 10): de client heeft een SEND-indicatie verzonden met applicatiegegevens die moeten worden doorgestuurd naar een peer waarvoor al een toestemming bestaat. aPeerIP/aPeerPort identificeren de doelpeer (overgenomen van XOR-PEER-ADDRESS) en aBytes bevat de payload die op het punt staat te worden doorgestuurd via de relayssocket van de Allocatie. Gebruik de gebeurtenis om het doorgestuurde verkeer te inspecteren of vast te leggen (bijvoorbeeld om audio/videopakketten te sniffen die via de TURN-server worden verzonden) of om per-peer snelheidslimieten te implementeren. Stel Accept := False in om het datagram stil te laten vallen; er wordt geen fout naar de verzendende client gestuurd. Deze gebeurtenis wordt geactiveerd op het relaypad en wordt synchroon uitgevoerd tenzij NotifyEvents het omleidt — overweeg neNoSync bij zware belasting om terugdruk op de luisteraar te vermijden. aBytes is een alleen-lezen weergave; wijzig de inhoud niet.

Voorbeeld

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;

Terug naar Events