TsgcTURNServer이벤트 › OnTURNChannelDataDiscarded

OnTURNChannelDataDiscarded Event

채널 번호가 유효하지 않거나 권한이 없어 ChannelData 메시지가 폐기될 때 발생합니다.

구문

property OnTURNChannelDataDiscarded: TsgcTURNChannelDataDiscardedEvent;
// TsgcTURNChannelDataDiscardedEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aChannelData: TsgcTURNChannelData; const aReason: string) of object

기본값

설명

서버가 들어오는 ChannelData 데이터그램을 릴레이하지 않고 자동으로 삭제할 때 발생합니다. aReason에 전달되는 일반적인 이유는 다음과 같습니다: 채널 번호가 합법적인 0x4000–0x7FFF 범위를 벗어남, Allocation에 channel 바인딩이 없음, channel 바인딩이 만료됨, 바인딩된 피어 주소에 대해 일치하는 권한이 설치되지 않음, 또는 데이터그램이 4바이트 헤더에 광고된 길이보다 짧음. aChannelData는 채널 번호와 폐기된 원시 페이로드를 노출합니다. RFC 5766에 따라 클라이언트에 오류 응답이 전송되지 않습니다. 예기치 않은 삭제가 나타날 때 진단 또는 침입 탐지에 이 이벤트를 사용하십시오. NotifyEvents가 리디렉션하지 않는 한 리스너 스레드에서 실행됩니다.

예제

procedure TForm1.OnTURNChannelDataDiscarded(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aChannelData: TsgcTURNChannelData;
  const aReason: string);
begin
  Memo1.Lines.Add(Format('ChannelData dropped from %s: %s',
    [aSocket.PeerIP, aReason]));
end;

이벤트로 돌아가기