TsgcTURNServer › Eventos › OnSTUNRequestSuccess
Se genera antes de que el servidor envíe una respuesta STUN/TURN satisfactoria, de modo que el manejador pueda inspeccionar o vetar la respuesta.
property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Se activa después de que el servidor ha procesado correctamente una solicitud y ha construido la respuesta, pero antes de que se envíe el datagrama. Se activa en cada respuesta de enlace STUN y en cada respuesta exitosa de método TURN (AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse). aRequest expone el mensaje STUN/TURN original (id de transacción, atributos, punto de extremo de origen) y aResponse expone la respuesta que está a punto de transmitirse; ambos pueden inspeccionarse para registro o auditoría. Establezca Accept := False para descartar la respuesta en silencio — use con precaución en métodos TURN porque el cliente retransmitirá y una AllocateResponse descartada puede dejar una asignación del servidor bloqueada. El manejador se ejecuta en el hilo de escucha a menos que NotifyEvents lo redirija.
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;