TsgcTURNServerEvents › OnSTUNRequestError

OnSTUNRequestError Event

Gerado antes de o servidor enviar uma resposta de erro STUN/TURN; permite que o handler 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 resposta de erro (por exemplo 400 Bad Request, 401 Unauthorized, 403 Forbidden, 437 Allocation Mismatch, 438 Stale Nonce, 441 Wrong Credentials, 442 Unsupported Transport Protocol, 486 Allocation Quota Reached, 508 Insufficient Capacity) 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 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('TURN error for ' + aSocket.PeerIP);
  Accept := True;
end;

Voltar para Eventos