TsgcTURNServerEreignisse › OnSTUNRequestSuccess

OnSTUNRequestSuccess Ereignis

Wird ausgelöst, bevor der Server eine erfolgreiche STUN-/TURN-Antwort sendet, sodass der Handler die Antwort inspizieren oder ablehnen kann.

Syntax

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

Standardwert

Hinweise

Wird ausgelöst, nachdem der Server eine Anfrage erfolgreich verarbeitet und die Antwort erstellt hat, aber bevor das Datagramm gesendet wird. Wird bei jeder STUN Binding Response und bei jeder erfolgreichen TURN-Methodenantwort (AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse) ausgelöst. aRequest macht die ursprüngliche STUN/TURN-Nachricht verfügbar (Transaktions-ID, Attribute, Quell-Endpunkt), und aResponse macht die zu übertragende Antwort verfügbar; beide können zur Protokollierung oder Auditierung überprüft werden. Setzen Sie Accept := False, um die Antwort stillschweigend zu verwerfen — verwenden Sie dies bei TURN-Methoden sparsam, da der Client erneut sendet und eine verworfene AllocateResponse eine serverseitige Allocation hängen lassen kann. Der Handler läuft auf dem Listener-Thread, es sei denn, NotifyEvents leitet ihn um.

Beispiel

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;

Zurück zu Ereignissen