TsgcTURNServer › Events › OnTURNMessageDiscarded
Wordt gegenereerd wanneer een TURN-bericht ontvangen door de server wordt verwijderd voordat een antwoord wordt gegenereerd.
property OnTURNMessageDiscarded: TsgcTURNMessageDiscardedEvent;
// TsgcTURNMessageDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod; const aMessage: TsgcSTUN_Message; const aReason: string) of object
—
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.
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;