TsgcTURNServerEvents › OnTURNMessageDiscarded

OnTURNMessageDiscarded Gebeurtenis

Wordt gegenereerd wanneer een TURN-bericht ontvangen door de server wordt verwijderd voordat een antwoord wordt gegenereerd.

Syntaxis

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

Standaardwaarde

Opmerkingen

Wordt geactiveerd wanneer de server een inkomend STUN/TURN-bericht verwijdert zonder een antwoord of fout terug te sturen. aMethod identificeert de methode (Allocate, Refresh, CreatePermission, ChannelBind, Send, Data) die in de header werd gedetecteerd, aMessage stelt het geparseerde STUN-bericht beschikbaar en aReason beschrijft waarom het datagram werd verworpen — typische oorzaken zijn onder meer ontbrekende allocatie voor Send-indicaties, geen toestemming geïnstalleerd voor de peer geadresseerd door XOR-PEER-ADDRESS, misvormde header, niet-ondersteunde methode of snelheidslimiet voor de bron. Gebruik de gebeurtenis voor diagnostiek en inbraakdetectie; in tegenstelling tot OnSTUNRequestError wordt deze gebeurtenis geactiveerd voor het RFC-stille verwerpingspad waar nooit een antwoord wordt gegenereerd. Wordt uitgevoerd op de luisterthread tenzij NotifyEvents het omleidt.

Voorbeeld

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;

Terug naar gebeurtenissen