TsgcSTUNServerZdarzenia › OnSTUNRequestSuccess

OnSTUNRequestSuccess Zdarzenie

Wywoływane przed wysłaniem przez serwer pomyślnej odpowiedzi Binding Response, aby procedura obsługi mogła sprawdzić lub zawetować odpowiedź.

Składnia

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

Wartość domyślna

Uwagi

Wywoływane po pomyślnym przetworzeniu przez serwer żądania Binding Request i zbudowaniu odpowiedzi zawierającej publiczny (zmapowany) adres klienta, ale przed wysłaniem datagramu. aRequest udostępnia oryginalną wiadomość STUN (identyfikator transakcji, atrybuty, źródłowy punkt końcowy), a aResponse udostępnia odpowiedź Binding Response, która ma zostać przesłana. Oba mogą być sprawdzane w celach rejestrowania lub audytu. Ustawienie Accept := False powoduje ciche odrzucenie odpowiedzi, na przykład w celu implementacji niestandardowego ograniczania szybkości lub blokowania poszczególnych klientów. Procedura obsługi działa w wątku nasłuchiwania, chyba że właściwość NotifyEvents ją przekierowuje.

Przykład

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;

Powrót do Zdarzeń