TsgcSTUNServerEventos › OnSTUNRequestError

OnSTUNRequestError Event

Gerado antes de o servidor enviar uma resposta de erro STUN; permite que o manipulador inspecione ou suprima a resposta.

Sintaxe

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

Valor Padrão

Observações

Disparado quando o servidor construiu uma Binding Error Response (por exemplo 400 Bad Request, 401 Unauthorized, 420 Unknown Attribute ou 438 Stale Nonce) e está prestes a enviá-la de volta ao cliente. Inspecione aRequest / aResponse — em particular o atributo ERROR-CODE de aResponse — para registrar o motivo da falha. Defina Accept := False para descartar o datagrama e deixar o cliente sem resposta, o que pode ser útil para evitar amplificação quando requisições inválidas repetidas chegam da mesma origem. O handler é executado na thread do listener, a menos que NotifyEvents selecione outro modo.

Exemplo

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;

Voltar para Eventos