TsgcSTUNClient

Componente TsgcSTUNClient.

Introducción

TsgcSTUNClient es el cliente que implementa el protocolo STUN y permite enviar solicitudes de vinculación a servidores STUN.

 

El componente permite utilizar UDP y TCP como transporte. Al usar UDP como transporte, implementa un mecanismo de retransmisión para reenviar las solicitudes si la respuesta no ha llegado tras un breve intervalo.

 

Uso básico

Normalmente los servidores STUN funcionan en el puerto UDP 3478 y no requieren autenticación, por lo que para enviar una solicitud de binding STUN, rellene las propiedades del servidor para que el cliente sepa a dónde conectarse y gestione los eventos donde el componente recibirá la respuesta del servidor.

 

Configurar el servidor

 

Llame al método SendRequest, para enviar una solicitud de enlace al servidor STUN.

 

Gestionar los eventos

 


    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;

 

Referencia

Guías