TsgcTURNServer이벤트 › OnSTUNRequestSuccess

OnSTUNRequestSuccess 이벤트

서버가 성공적인 STUN/TURN 응답을 보내기 전에 발생하여 핸들러가 응답을 검사하거나 거부할 수 있습니다.

구문

property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object

기본값

설명

서버가 요청을 성공적으로 처리하고 응답을 빌드한 후, 데이터그램이 전송되기 전에 발생합니다. 모든 STUN Binding Response와 모든 성공적인 TURN 메서드 응답(AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse)에서 트리거됩니다. aRequest는 원래 STUN/TURN 메시지(transaction id, attributes, source endpoint)를 노출하고 aResponse는 전송될 응답을 노출합니다. 둘 다 로깅 또는 감사를 위해 검사할 수 있습니다. 응답을 조용히 폐기하려면 Accept := False를 설정하십시오 — 클라이언트가 재전송하고 삭제된 AllocateResponse가 서버 측 Allocation을 고립시킬 수 있으므로 TURN 메서드에서는 신중하게 사용하십시오. 핸들러는 NotifyEvents가 리디렉션하지 않는 한 리스너 스레드에서 실행됩니다.

예제

procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
  var Accept: Boolean);
begin
  Memo1.Lines.Add('TURN OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
  Accept := True;
end;

이벤트로 돌아가기