TsgcSTUNServerEvents › OnSTUNRequestSuccess

OnSTUNRequestSuccess Gebeurtenis

Wordt geactiveerd voordat de server een succesvolle Binding Response stuurt, zodat de handler het antwoord kan inspecteren of vetoën.

Syntaxis

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

Standaardwaarde

Opmerkingen

Wordt geactiveerd nadat de server een Binding Request met succes heeft verwerkt en het antwoord heeft opgebouwd dat het publieke (gemapte) adres van de client bevat, maar voordat het datagram wordt verzonden. aRequest stelt het oorspronkelijke STUN-bericht bloot (transaction id, attributen, bronendpunt) en aResponse stelt het Binding Response bloot dat op het punt staat te worden verzonden; beide kunnen worden geïnspecteerd voor logging of auditing. Stel Accept := False in om het antwoord stilzwijgend te verwerpen, bijvoorbeeld om aangepaste rate limiting of zwarte-lijsten per client te implementeren. De handler draait op de listenerthread, tenzij NotifyEvents deze omleidt.

Voorbeeld

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;

Terug naar Events