TsgcSTUNClient

Composant TsgcSTUNClient.

Introduction

TsgcSTUNClient est le client qui implémente le protocole STUN et vous permet d'envoyer des requêtes de liaison aux serveurs STUN.

 

Le composant vous permet d'utiliser UDP et TCP comme transport. Lors de l'utilisation d'UDP comme transport, il implémente un mécanisme de retransmission pour renvoyer les requêtes si la réponse n'est pas arrivée après un court délai.

 

Utilisation de base

Habituellement, les serveurs STUN fonctionnent sur le port UDP 3478 et ne nécessitent pas d'authentification. Pour envoyer une requête de liaison STUN, renseignez les propriétés du serveur afin que le client sache où se connecter, et gérez les événements où le composant recevra la réponse du serveur.

 

Configurer le serveur

 

Appelez la méthode SendRequest, pour envoyer une requête de liaison au serveur STUN.

 

Gérer les événements

 


    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;

 

Référence

Guides