TURN İstemcisi
Delphi/C++Builder üzerinden bir TURN sunucusuyla iletişim kurun. Aktarmalı taşıma adresleri ayırın, izinleri ve kanalları yönetin, ardından simetrik NAT arkasındaki eşlerle veri alışverişi yapın — RFC 8656 uyarınca.
Delphi/C++Builder üzerinden bir TURN sunucusuyla iletişim kurun. Aktarmalı taşıma adresleri ayırın, izinleri ve kanalları yönetin, ardından simetrik NAT arkasındaki eşlerle veri alışverişi yapın — RFC 8656 uyarınca.
TURN istemcisi — Allocate, CreatePermission, ChannelBind, Send / Indication / Data, Refresh; tümü RFC 8656 uyarınca uzun vadeli kimlik bilgileriyle imzalanır.
TsgcTURNClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
TURN sunucusu / kullanıcı adı / parola değerlerini ayarlayın, Allocate çağırın, ardından her eş için CreatePermission ve veriyi aktarmak için Send / SendIndication kullanın.
uses
sgcP2P;
var
TURN: TsgcTURNClient;
begin
TURN := TsgcTURNClient.Create(nil);
TURN.Host := 'turn.example.com';
TURN.Port := 3478;
TURN.Authentication.UserName := 'alice';
TURN.Authentication.Password := 'secret';
TURN.OnTURNAllocated := procedure(Sender: TObject;
const aRelayedAddress, aRelayedPort: string)
begin
Memo1.Lines.Add('relay: ' + aRelayedAddress + ':' + aRelayedPort);
TURN.CreatePermission('192.0.2.1');
TURN.SendIndication('192.0.2.1', 5000, 'hello via TURN');
end;
TURN.Allocate;
end;
// uses: sgcP2P
TsgcTURNClient *TURN = new TsgcTURNClient(this);
TURN->Host = "turn.example.com";
TURN->Port = 3478;
TURN->Authentication->UserName = "alice";
TURN->Authentication->Password = "secret";
TURN->Allocate();
Türü belirli bir RFC 8656 TURN istemcisi — yalnızca STUN ile NAT geçişi başarısız olduğunda WebRTC için aktarma katmanı.
Allocate, REQUESTED-TRANSPORT (UDP, TCP) içeren bir Allocate isteği gönderir ve aktarmalı bir taşıma adresi elde eder. Refresh ömrü uzatır; Free açıkça serbest bırakır.
CreatePermission(peerIp), aktarmanın datagramlarını ileteceği bir eşi kaydeder. İzinler 5 dakika sonra otomatik olarak sona erer — gerektiğinde yenileyin.
ChannelBind(channelNumber, peerEndpoint), 36 baytlık Send/Data ek yükünü atlar. Bileşen, 4 baytlık ChannelData başlığını otomatik olarak kodlar.
Authentication.UserName / Password, 401 challenge yanıtından çıkarılan realm ve nonce kullanılarak MESSAGE-INTEGRITY değerini doldurur.
UDP'yi engelleyen ortamlar için temel istemcinin Transport değerini TCP veya TLS olarak ayarlayın — RFC 6062 / 6056 taşıma seçenekleri desteklenir.
TsgcRTCPeerConnection, TsgcTURNClient bileşenini IceServers değerlerinden biri olarak kullanır — Allocate, CreatePermission ve ChannelBind akışı şeffaf bir şekilde gerçekleşir.
Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.
| Çevrimiçi Yardım — TsgcTURNClient Bu bileşen için tam özellik, metot ve olay referansı. | Aç | |
| Demo Projesi — Demos\35.P2P\03.TURN Çalışmaya hazır örnek proje. sgcWebSockets paketinin içinde gelir — denemeyi aşağıdan indirin. | Aç | |
| 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. | Aç | |
| Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz. | Aç |