TsgcTURNServer › Eventos › OnSTUNRequestSuccess
Gerado antes de o servidor enviar uma resposta STUN/TURN bem-sucedida, para que o manipulador possa inspecionar ou vetar a resposta.
property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Disparado depois que o servidor processou uma requisição com sucesso e construiu a resposta, mas antes de o datagrama ser enviado. É acionado em cada STUN Binding Response e em cada resposta bem-sucedida de método TURN (AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse). aRequest expõe a mensagem STUN/TURN original (transaction id, atributos, endpoint de origem) e aResponse expõe a resposta prestes a ser transmitida; ambas podem ser inspecionadas para registro ou auditoria. Defina Accept := False para descartar a resposta silenciosamente — use com moderação em métodos TURN, porque o cliente irá retransmitir e uma AllocateResponse descartada pode deixar uma Allocation do lado do servidor presa. O handler é executado na thread do listener, a menos que NotifyEvents o redirecione.
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;