TsgcTURNServer › Gebeurtenissen › OnSTUNRequestSuccess
Wordt geactiveerd voordat de server een succesvolle STUN/TURN-reactie verzendt, zodat de handler het antwoord kan inspecteren of weigeren.
property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object
—
Wordt geactiveerd nadat de server een verzoek succesvol heeft verwerkt en de respons heeft opgesteld, maar vóórdat het datagram wordt verzonden. Wordt geactiveerd bij elke STUN Binding Response en bij elke succesvolle TURN-methode-reply (AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse). aRequest geeft het originele STUN/TURN-bericht weer (transactie-id, attributen, bronendpoint) en aResponse geeft de respons weer die wordt verzonden; beide kunnen worden geïnspecteerd voor logging of auditing. Stel Accept := False in om de respons stilzwijgend te verwerpen — gebruik dit spaarzaam bij TURN-methoden, want de client zal opnieuw verzenden en een verworpen AllocateResponse kan een server-side Allocation blokkeren. De handler wordt uitgevoerd op de listener-thread, tenzij NotifyEvents deze omleidt.
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;