TsgcTURNServer › 이벤트 › OnSTUNException
STUN/TURN 메시지를 파싱하거나 응답하는 동안 처리되지 않은 예외가 포착될 때 발생합니다.
property OnSTUNException: TsgcSTUNExceptionEvent;
// TsgcSTUNExceptionEvent = procedure(Sender: TObject; E: Exception) of object
—
서버가 데이터그램을 디코딩하거나, MESSAGE-INTEGRITY를 검증하거나, ALLOCATE / REFRESH / CREATE-PERMISSION / CHANNEL-BIND 메서드를 처리하거나, Send-Indication 또는 ChannelData 패킷을 중계하거나, 소켓에 응답을 다시 쓰는 동안 예외를 트랩할 때 발생합니다. 예외는 리스너에 의해 흡수되므로 서버는 계속 실행되고 Allocation 테이블은 일관성을 유지합니다. 이 이벤트를 사용하여 로그나 모니터링에 실패를 나타내십시오. 세부 정보는 E.ClassName과 E.Message를 검사하십시오. E를 다시 발생시키지 마십시오. 핸들러는 NotifyEvents가 리디렉션하지 않는 한 리스너 스레드에서 실행되므로, 적절한 동기화 없이 직접 UI 액세스를 피하십시오.
procedure TForm1.OnSTUNException(Sender: TObject; E: Exception);
begin
Memo1.Lines.Add('TURN error: ' + E.ClassName + ' - ' + E.Message);
end;