Klient TURN
Komunikuj się z serwerem TURN z Delphi/C++Builder. Alokuj przekazywane adresy transportowe, zarządzaj uprawnieniami i kanałami, a następnie wymieniaj dane z peerami za symetrycznym NAT — zgodnie z RFC 8656.
Komunikuj się z serwerem TURN z Delphi/C++Builder. Alokuj przekazywane adresy transportowe, zarządzaj uprawnieniami i kanałami, a następnie wymieniaj dane z peerami za symetrycznym NAT — zgodnie z RFC 8656.
Klient TURN — Allocate, CreatePermission, ChannelBind, Send / Indication / Data, Refresh, wszystko podpisane poświadczeniami long-term zgodnie z RFC 8656.
TsgcTURNClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Ustaw serwer TURN / nazwę użytkownika / hasło, wywołaj Allocate, a następnie CreatePermission dla każdego peera i Send / SendIndication, aby przekazywać dane.
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();
Typowany klient TURN zgodny z RFC 8656 — warstwa przekazywania dla WebRTC, gdy traversal NAT oparty wyłącznie na STUN zawodzi.
Allocate wysyła żądanie Allocate z REQUESTED-TRANSPORT (UDP, TCP) i uzyskuje przekazywany adres transportowy. Refresh przedłuża czas życia; Free jawnie zwalnia alokację.
CreatePermission(peerIp) rejestruje peera, którego datagramy będą przekazywane przez relay. Uprawnienia wygasają automatycznie po 5 minutach — odświeżaj je w razie potrzeby.
ChannelBind(channelNumber, peerEndpoint) omija 36-bajtowy narzut Send/Data. Komponent automatycznie koduje 4-bajtowy nagłówek ChannelData.
Authentication.UserName / Password wypełniają MESSAGE-INTEGRITY przy użyciu realm i nonce pobranych z challenge 401.
Ustaw Transport klienta na TCP lub TLS dla środowisk blokujących UDP — obsługiwane są opcje transportu zgodne z RFC 6062 / 6056.
TsgcRTCPeerConnection korzysta z TsgcTURNClient jako jednego z IceServers — sekwencja Allocate, CreatePermission i ChannelBind odbywa się przezroczyście.
Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.
| Pomoc online — TsgcTURNClient Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — Demos\35.P2P\03.TURN Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł — tylko ten komponent. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |