Client ICE
Exécute l'algorithme ICE complet en Delphi/C++Builder — collecte des candidats host, server-reflexive et relay, exécute les vérifications de connectivité STUN, nomine la meilleure paire selon la RFC 8445.
Exécute l'algorithme ICE complet en Delphi/C++Builder — collecte des candidats host, server-reflexive et relay, exécute les vérifications de connectivité STUN, nomine la meilleure paire selon la RFC 8445.
Implémente la machine à états ICE de la RFC 8445 — collecte des candidats, priorisation, génération de paires, vérifications de connectivité (BindingRequest avec USE-CANDIDATE), nomination et fraîcheur du consentement.
TsgcICEClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Configure les serveurs STUN/TURN ICE, appelle GatherCandidates, échange la liste de candidats avec le pair (hors bande), puis StartChecks pour nominer une paire fonctionnelle.
uses
sgcP2P;
var
ICE: TsgcICEClient;
begin
ICE := TsgcICEClient.Create(nil);
ICE.IceServers.Add('stun:stun.l.google.com:19302');
ICE.IceServers.Add('turn:turn.example.com', 'alice', 'secret');
ICE.OnICELocalCandidate := procedure(Sender: TObject;
const aCandidate: string)
begin
SignalToPeer(aCandidate); // out-of-band SDP / WebSocket
end;
ICE.OnICEConnectionStateChanged := procedure(Sender: TObject;
const aState: TsgcICEConnectionState)
begin
Memo1.Lines.Add('ICE: ' + GetEnumName(TypeInfo(TsgcICEConnectionState), Ord(aState)));
end;
ICE.GatherCandidates;
end;
// uses: sgcP2P
TsgcICEClient *ICE = new TsgcICEClient(this);
ICE->IceServers->Add("stun:stun.l.google.com:19302");
ICE->GatherCandidates();
Un moteur ICE réutilisable qui se place sous TsgcRTCPeerConnection — ou fonctionne seul pour du P2P hors WebRTC.
Énumère les candidats host depuis chaque interface locale, les candidats server-reflexive depuis chaque serveur STUN, les candidats relayed depuis chaque serveur TURN — tous en parallèle.
Calcule les priorités des paires de candidats selon la RFC 8445 §6.1.2 et ordonne la liste de vérification. Les paires gelées dégèlent à mesure que leur fondation progresse.
Envoie des STUN BindingRequests avec les attributs PRIORITY, ICE-CONTROLLING / ICE-CONTROLLED, USE-CANDIDATE selon la norme. Les vérifications déclenchées s'activent sur stimulus entrant.
Lorsqu'une paire réussit et que l'agent contrôleur marque USE-CANDIDATE, le composant déclenche OnICEConnectionStateChanged avec iceConnected, puis iceCompleted sur la paire finale sélectionnée.
Implémente les sondes consent-freshness de la RFC 7675 — STUN BindingRequests périodiques sur la paire nominée, avec OnICEConnectionStateChanged(iceFailed) en cas de perte de consentement.
Le composant ne suppose aucun canal de signalisation spécifique — tu transportes les candidats locaux sur ton signalling WebSocket / SIP / HTTP et tu réinjectes les candidats distants.
Lien direct vers la référence du composant, projet de démo prêt à l'emploi et téléchargement de l'essai.
| Aide en ligne — TsgcICEClient Référence complète des propriétés, méthodes et événements de ce composant. | Ouvrir | |
| Projet de démo — Demos\35.P2P\04.ICE Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code Delphi et C++ Builder et références primaires — ce composant uniquement. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque. | Ouvrir |