STUN İstemcisi

Türü belirli bir STUN (RFC 8489) istemcisiyle NAT arkasındaki yansımalı uç noktanızı keşfedin. ICE aday toplama ve WebRTC için başlangıç adımı olarak kullanılır.

TsgcSTUNClient

STUN istemcisi — Binding istekleri, XOR-MAPPED-ADDRESS çıkarımı, MESSAGE-INTEGRITY / FINGERPRINT desteği, RFC 8489 uyarınca yeniden iletim zamanlayıcısı.

Bileşen sınıfı

TsgcSTUNClient

Protokol

STUN (RFC 8489)

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Standard / Professional / Enterprise

Bileşeni bırakın, yansımalı adresi isteyin

STUN sunucusu host/port değerlerini ayarlayın, SendBindingRequest çağırın, ardından OnSTUNMappedAddress içinden MappedAddress / MappedPort değerlerini okuyun.

uses
  sgcP2P;

var
  STUN: TsgcSTUNClient;
begin
  STUN := TsgcSTUNClient.Create(nil);
  STUN.Host := 'stun.l.google.com';
  STUN.Port := 19302;

  STUN.OnSTUNMappedAddress := procedure(Sender: TObject;
    const aMappedAddress, aMappedPort: string)
  begin
    Memo1.Lines.Add('public: ' + aMappedAddress + ':' + aMappedPort);
  end;

  STUN.SendBindingRequest;
end;
// uses: sgcP2P
TsgcSTUNClient *STUN = new TsgcSTUNClient(this);
STUN->Host = "stun.l.google.com";
STUN->Port = 19302;
STUN->SendBindingRequest();

İçinde neler var

ICE tarafından kullanılan message-integrity ve fingerprint uzantılarına sahip, türü belirli bir RFC 8489 STUN istemcisi.

Binding isteği / yanıtı

SendBindingRequest STUN 0x0001 mesajını gönderir; yanıt, ayrıştırılmış XOR-MAPPED-ADDRESS özniteliğiyle OnSTUNMappedAddress içinde ortaya çıkar.

Kimlik doğrulama (uzun vadeli / kısa vadeli)

Authentication.UserName / Password değerlerini ayarlayın; bileşen MESSAGE-INTEGRITY (HMAC-SHA1 / HMAC-SHA256) hesaplar. Realm ve nonce, 401 challenge yanıtından çıkarılır.

Yeniden iletim

UDP üzerinden STUN, uygulama katmanında yeniden iletim gerektirir. Bileşen, RFC 8489 §6.2.1 uyarınca standart geri çekilmeyi (RTO / Rc / Rm) uygular.

IPv4 / IPv6

XOR-MAPPED-ADDRESS her iki aileden de dönebilir — bileşen ikisini de çözer ve standart metin biçimini MappedAddress içinde saklar.

ICE host toplayıcısı olarak kullanın

Sunucu-yansımalı ICE adaylarını toplamak için birden fazla TsgcSTUNClient örneğini birkaç STUN sunucusuna karşı çalıştırın — her yerel arabirim için bir tane.

Temel soket

Dahili olarak TsgcUDPClient kullanır; yerel port bağlama yapılandırılabilir olduğundan STUN, ICE ve veri yolu gerektiğinde bir uç noktayı paylaşabilir.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı protokol için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.

Çevrimiçi Yardım — TsgcSTUNClient Bu bileşen için tam özellik, metot ve olay referansı.
Demo Projesi — Demos\35.P2P\02.STUN Çalışmaya hazır örnek proje. sgcWebSockets paketinin içinde gelir — denemeyi aşağıdan indirin.
Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi ve C++ Builder için kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

NAT Eşlemelerini Keşfetmeye Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi uygulamalarınıza STUN tabanlı NAT keşfi ekleyin.