TsgcTURNServer › Events › OnTURNMessageDiscarded
サーバーが受信した TURN メッセージがレスポンスを生成する前に破棄されたときに発生します。
property OnTURNMessageDiscarded: TsgcTURNMessageDiscardedEvent;
// TsgcTURNMessageDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; aMethod: TsgcStunMessageMethod; const aMessage: TsgcSTUN_Message; const aReason: string) of object
—
サーバーがレスポンスまたはエラーを返さずに受信した STUN/TURN メッセージを破棄したときに発生します。aMethod はヘッダーで検出されたメソッド(Allocate、Refresh、CreatePermission、ChannelBind、Send、Data)を識別し、aMessage は解析された STUN メッセージを公開し、aReason はデータグラムが破棄された理由を説明します。典型的な原因には、Send インジケーションのアロケーションが見つからない、XOR-PEER-ADDRESS で指定されたピアの権限がインストールされていない、不正なヘッダー、サポートされていないメソッド、レートリミットされたソースなどが含まれます。診断と侵入検知のためにイベントを使用します。OnSTUNRequestError と異なり、このイベントは返信が一切生成されない RFC のサイレント破棄パスで発生します。NotifyEvents がリダイレクトしない限り、リスナースレッドで実行されます。
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;