RTCPeerConnection

Parle WebRTC depuis Delphi/C++Builder — ICE pour la connectivité, DTLS 1.3 pour la poignée de main de clés, SRTP pour le média, SCTP-over-DTLS pour les DataChannels. Aucun navigateur requis.

TsgcRTCPeerConnection

Pair WebRTC Delphi natif — reflète la surface W3C RTCPeerConnection (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) soutenue par les piles ICE, DTLS 1.3, SRTP et SCTP intégrées.

Classe du composant

TsgcRTCPeerConnection

Protocole

WebRTC (W3C)

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Enterprise

Offer / Answer / Connect

Ajoute des serveurs ICE, CreateOffer, envoie le SDP au pair distant via ton canal de signalisation, configure la réponse, et le chemin de données s'allume.

uses
  sgcP2P;

var
  Peer: TsgcRTCPeerConnection;
  Channel: TsgcRTCDataChannel;
begin
  Peer := TsgcRTCPeerConnection.Create(nil);
  Peer.IceServers.Add('stun:stun.l.google.com:19302');

  Peer.OnLocalDescription := procedure(Sender: TObject;
    const aSDP: string)
  begin
    SignalToPeer(aSDP); // over your WebSocket / WebRTC signalling
  end;

  Peer.OnDataChannel := procedure(Sender: TObject;
    aChannel: TsgcRTCDataChannel)
  begin
    Channel := aChannel;
    aChannel.OnMessage := procedure(Sender: TObject;
      const aText: string)
    begin
      Memo1.Lines.Add(aText);
    end;
  end;

  // outbound side
  Channel := Peer.CreateDataChannel('chat');
  Peer.CreateOffer;
end;
// uses: sgcP2P
TsgcRTCPeerConnection *Peer = new TsgcRTCPeerConnection(this);
Peer->IceServers->Add("stun:stun.l.google.com:19302");
TsgcRTCDataChannel *Channel = Peer->CreateDataChannel("chat");
Peer->CreateOffer();

Sous le capot

Un pair WebRTC natif qui regroupe ICE, DTLS 1.3, SRTP et SCTP dans un seul composant — reflétant l'API W3C RTCPeerConnection.

SDP Offer / Answer

CreateOffer et CreateAnswer génèrent du SDP RFC 8866 avec les bons attributs ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP ; SetRemoteDescription ingère le SDP du pair.

Connectivité pilotée par ICE

Utilise TsgcICEClient en interne pour la collecte de candidats et les vérifications de connectivité ; AddIceCandidate injecte les candidats distants à mesure qu'ils arrivent via le signalling.

Échange de clés DTLS 1.3

Après que la paire ICE sélectionnée devient inscriptible, le composant exécute une poignée de main DTLS 1.3 (RFC 9147) et dérive les clés SRTP via SRTP-extractor.

DataChannels (SCTP-over-DTLS)

CreateDataChannel ouvre un flux SCTP multiplexé sur DTLS — fiable / partiellement fiable, ordonné / non ordonné, avec contre-pression via BufferedAmount.

Pistes média

Les pistes audio / vidéo transitent par SRTP. Le composant compagnon de signalisation côté serveur TsgcWSPServer_RTCPeerConnection te permet de construire des relais de style SFU.

Compatible navigateur

Interopère avec RTCPeerConnection des navigateurs — testé sur Chromium / Firefox / Safari. Même sémantique SDP, mêmes candidats ICE, même format DataChannel sur le câble.

Spécifications et références

Sources de référence pour le protocole implémenté par ce composant.

Documentation et démos

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 — TsgcRTCPeerConnection Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\35.P2P\05.RTCPeerConnection Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous.
Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code Delphi et C++ Builder et références primaires — ce composant uniquement.
Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque.

Prêt à exécuter WebRTC en Delphi ?

Télécharge l'essai gratuit et ajoute RTCPeerConnection natif à tes applications Delphi.