TsgcTURNServerZdarzenia › OnSTUNRequestSuccess

OnSTUNRequestSuccess Zdarzenie

Wywoływane przed wysłaniem przez serwer pomyślnej odpowiedzi STUN/TURN, umożliwiając obsługi zdarzenia inspekcję lub odrzucenie odpowiedzi.

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 żądania przez serwer i zbudowaniu odpowiedzi, ale przed wysłaniem datagramu. Wyzwalane dla każdej odpowiedzi STUN Binding Response oraz dla każdej pomyślnej odpowiedzi na metodę TURN (AllocateResponse, RefreshResponse, CreatePermissionResponse, ChannelBindResponse). Parametr aRequest udostępnia oryginalną wiadomość STUN/TURN (identyfikator transakcji, atrybuty, punkt końcowy źródła), a aResponse udostępnia odpowiedź przeznaczoną do przesłania; obie mogą być sprawdzane w celach rejestrowania lub audytu. Ustaw Accept := False, aby po cichu odrzucić odpowiedź — należy używać tej opcji ostrożnie w przypadku metod TURN, ponieważ klient będzie ponownie wysyłał żądanie, a porzucona AllocateResponse może pozostawić po stronie serwera nieaktywną alokację. Procedura obsługi wykonuje się w wątku nasłuchu, chyba że właściwość NotifyEvents zmienia to zachowanie.

Przykład

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;

Powrót do Zdarzeń