TsgcSTUNServerEreignisse › OnSTUNRequestSuccess

OnSTUNRequestSuccess Ereignis

Wird ausgelöst, bevor der Server eine erfolgreiche Binding Response sendet, sodass der Handler die Antwort untersuchen 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 einen Binding Request erfolgreich verarbeitet und die Antwort erstellt hat, die die öffentliche (gemappte) Adresse des Clients trägt, aber bevor das Datagramm gesendet wird. aRequest stellt die ursprüngliche STUN-Nachricht bereit (Transaktions-ID, Attribute, Quell-Endpunkt) und aResponse stellt die Binding Response bereit, die übertragen werden soll; beide können zum Protokollieren oder Auditieren geprüft werden. Setzen Sie Accept := False, um die Antwort stillschweigend zu verwerfen, zum Beispiel um benutzerdefinierte Ratenbegrenzung oder Blacklisting pro Client zu implementieren. Der Handler läuft im Listener-Thread, sofern NotifyEvents ihn nicht umleitet.

Beispiel

procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
  var Accept: Boolean);
begin
  Memo1.Lines.Add('Binding OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
  Accept := True;
end;

Zurück zu Ereignissen