TsgcSTUNClient

TsgcSTUNClient-Komponente.

Einführung

TsgcSTUNClient ist der Client, der das STUN-Protokoll implementiert und es Ihnen ermöglicht, Binding-Anfragen an STUN-Server zu senden.

 

Die Komponente ermöglicht die Verwendung von UDP und TCP als Transport. Bei Verwendung von UDP als Transport implementiert sie einen Retransmission-Mechanismus, um Anfragen erneut zu senden, wenn die Antwort nach kurzer Zeit nicht eingetroffen ist.

 

Grundlegende Verwendung

Normalerweise laufen STUN-Server auf UDP-Port 3478 und erfordern keine Authentifizierung. Um also ein STUN-Request-Binding zu senden, füllen Sie die Server-Eigenschaften aus, damit der Client weiß, wohin er sich verbinden soll, und behandeln Sie die Ereignisse, bei denen die Komponente die Antwort vom Server empfängt.

 

Den Server konfigurieren

 

Rufen Sie die Methode SendRequest auf, um eine Binding-Anfrage an den STUN-Server zu senden.

 

Behandeln Sie die Ereignisse

 


    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;

 

Referenz

Leitfäden