Client TURN
Comunica con un server TURN da Delphi/C++Builder. Alloca indirizzi di trasporto relayed, gestisci permessi e canali, poi scambia dati con peer dietro NAT simmetrico — secondo RFC 8656.
Comunica con un server TURN da Delphi/C++Builder. Alloca indirizzi di trasporto relayed, gestisci permessi e canali, poi scambia dati con peer dietro NAT simmetrico — secondo RFC 8656.
Client TURN — Allocate, CreatePermission, ChannelBind, Send / Indication / Data, Refresh, tutti firmati con credenziali long-term secondo RFC 8656.
TsgcTURNClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Imposta server TURN / username / password, chiama Allocate, poi CreatePermission per ogni peer e Send / SendIndication per inoltrare i dati.
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();
Un client TURN tipizzato RFC 8656 — lo strato di relay per WebRTC quando l'attraversamento NAT con solo STUN fallisce.
Allocate invia una richiesta Allocate con REQUESTED-TRANSPORT (UDP, TCP) e ottiene un indirizzo di trasporto relayed. Refresh estende la durata; Free dealloca esplicitamente.
CreatePermission(peerIp) registra un peer i cui datagrammi il relay inoltrerà. I permessi scadono automaticamente dopo 5 minuti — aggiornali quando serve.
ChannelBind(channelNumber, peerEndpoint) aggira l'overhead di 36 byte di Send/Data. Il componente codifica automaticamente l'header ChannelData da 4 byte.
Authentication.UserName / Password popolano MESSAGE-INTEGRITY usando il realm e il nonce estratti dalla risposta di challenge 401.
Imposta il Transport del client sottostante su TCP o TLS per ambienti che bloccano UDP — sono supportate le scelte di trasporto RFC 6062 / 6056.
TsgcRTCPeerConnection consuma TsgcTURNClient come uno dei suoi IceServers — la sequenza Allocate, CreatePermission e ChannelBind avviene in modo trasparente.
Collegamenti diretti al riferimento del componente, al progetto demo pronto all'uso e al download della versione di prova.
| Guida online — TsgcTURNClient Riferimento completo di proprietà, metodi ed eventi di questo componente. | Apri | |
| Progetto demo — Demos\35.P2P\03.TURN Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto. | Apri | |
| Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente. | Apri | |
| Manuale utente (PDF) Manuale completo che copre ogni componente della libreria. | Apri |