TsgcSTUNClient

TsgcSTUNClient bileşeni.

Giriş

TsgcSTUNClient, STUN protokolünü uygulayan ve STUN sunucularına binding istekleri göndermenize olanak tanıyan istemcidir.

 

Bileşen, taşıma olarak UDP ve TCP kullanmanıza olanak tanır. UDP'yi taşıma olarak kullanırken, yanıt kısa bir süre sonra gelmediyse istekleri yeniden göndermek için bir Retransmission mekanizması uygular.

 

Temel kullanım

Genellikle STUN sunucuları UDP portu 3478 üzerinde çalışır ve kimlik doğrulama gerektirmez, bu nedenle bir STUN binding isteği göndermek için, istemcinin nereye bağlanacağını bilmesini sağlamak amacıyla sunucu özelliklerini doldurun ve bileşenin sunucudan yanıt alacağı olayları işleyin.

 

Sunucuyu yapılandırın

 

STUN sunucusuna bir istek bağlaması göndermek için SendRequest yöntemini çağırın.

 

Olayları işleme

 


    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;

 

Başvuru

Kılavuzlar