TsgcSTUNClient

Komponent TsgcSTUNClient.

Wprowadzenie

TsgcSTUNClient to klient implementujący protokół STUN, który umożliwia wysyłanie żądań wiązania do serwerów STUN.

 

Komponent umożliwia używanie UDP i TCP jako transportu. Przy użyciu UDP jako transportu implementuje mechanizm retransmisji umożliwiający ponowne wysyłanie żądań, jeśli odpowiedź nie nadejdzie po krótkim czasie.

 

Podstawowe użycie

Zazwyczaj serwery STUN działają na porcie UDP 3478 i nie wymagają uwierzytelnienia. Aby wysłać żądanie wiązania STUN, należy wypełnić właściwości serwera, aby klient wiedział, z czym się połączyć, oraz obsłużyć zdarzenia, w których komponent otrzyma odpowiedź od serwera.

 

Konfiguracja serwera

 

Należy wywołać metodę SendRequest, aby wysłać żądanie do serwera STUN.

 

Obsługa zdarzeń

 


    oSTUN := TsgcSTUNClient.Create(nil);
    oSTUN.Host := 'stun.sgcwebsockets.com';
    oSTUN.Port := 3478;
    oSTUN.SendRequest;

    procedure OnSTUNResponseSuccess(Sender: TObject; const aSocket: TsgcSocketConnection; 
      const aMessage: TsgcSTUN_Message; const aBinding: TsgcSTUN_ResponseBinding);
    begin
      DoLog('Remote IP: ' + aBinding.RemoteIP + '. Remote Port: ' + IntToStr(aBinding.RemotePort));
    end;

    procedure OnSTUNResponseError(Sender: TObject; const aSocket: TsgcSocketConnection; 
      const aMessage: TsgcSTUN_Message; const aError: TsgcSTUN_ResponseError);
    begin
      DoLog('Error: ' + IntToStr(aError.Code) + ' ' + aError.Reason);
    end;

 

Dokumentacja

Przewodniki