TsgcSTUNServer이벤트 › OnSTUNRequestError

OnSTUNRequestError 이벤트

서버가 STUN 오류 응답을 보내기 전에 발생합니다. 핸들러가 응답을 검사하거나 억제할 수 있습니다.

구문

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

기본값

설명

서버가 Binding Error Response(예: 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute 또는 438 Stale Nonce)를 빌드하고 클라이언트에 다시 보내려고 할 때 발생합니다. 실패 이유를 로깅하려면 aRequest / aResponse — 특히 aResponse의 ERROR-CODE 속성 — 를 검사하십시오. 데이터그램을 삭제하고 클라이언트에 응답을 남기지 않으려면 Accept := False를 설정하십시오. 이는 동일한 소스에서 반복되는 잘못된 요청이 도착할 때 증폭을 피하는 데 유용할 수 있습니다. 핸들러는 NotifyEvents가 다른 모드를 선택하지 않는 한 리스너 스레드에서 실행됩니다.

예제

procedure TForm1.OnSTUNRequestError(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest: TsgcSTUN_Message;
  const aResponse: TsgcSTUN_Message; var Accept: Boolean);
begin
  Memo1.Lines.Add('STUN error for ' + aSocket.PeerIP);
  Accept := True;
end;

이벤트로 돌아가기