RTCPeerConnection (TsgcRTCPeerConnection) — sgcWebSockets | eSeGeCe

RTCPeerConnection

Spreek WebRTC vanuit Delphi/C++Builder — ICE voor connectiviteit, DTLS 1.3 voor de keying-handshake, SRTP voor media, SCTP-over-DTLS voor DataChannels. Geen browser nodig.

TsgcRTCPeerConnection

Native Delphi WebRTC-peer — weerspiegelt het W3C RTCPeerConnection-oppervlak (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel), aangedreven door de meegeleverde ICE-, DTLS 1.3-, SRTP- en SCTP-stacks.

Componentklasse

TsgcRTCPeerConnection

Protocol

WebRTC (W3C)

Platforms

Windows, macOS, Linux, iOS, Android

Editie

Enterprise

Offer / Answer / Connect

Voeg ICE-servers toe, roep CreateOffer aan, stuur de SDP via je signalling-kanaal naar de remote peer, stel het antwoord in en het datapad gaat aan.

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();

Wat zit erin

Een native WebRTC-peer die ICE, DTLS 1.3, SRTP en SCTP bundelt in één component — spiegelt de W3C RTCPeerConnection-API.

SDP Offer / Answer

CreateOffer en CreateAnswer genereren RFC 8866-SDP met de juiste ICE-UFRAG-, ICE-PWD-, FINGERPRINT- en SETUP-attributen; SetRemoteDescription verwerkt de SDP van de peer.

ICE-gestuurde connectiviteit

Gebruikt intern TsgcICEClient voor het verzamelen van kandidaten en connectiviteitscontroles; AddIceCandidate voert remote kandidaten in zodra ze via signalling binnenkomen.

DTLS 1.3-keying

Nadat het geselecteerde ICE-paar beschrijfbaar wordt, voert de component een DTLS 1.3-handshake uit (RFC 9147) en leidt SRTP-sleutels af via SRTP-extractor.

DataChannels (SCTP-over-DTLS)

CreateDataChannel opent een SCTP-stream gemultiplext over DTLS — reliable / partial-reliable, geordend / ongeordend, met backpressure via BufferedAmount.

Media-tracks

Audio- en videotracks gaan via SRTP. De bijbehorende server-side signalling-component TsgcWSPServer_RTCPeerConnection laat je SFU-achtige relays bouwen.

Browsercompatibel

Werkt samen met browser-RTCPeerConnection — getest tegen Chromium / Firefox / Safari. Dezelfde SDP-semantiek, dezelfde ICE-kandidaten, hetzelfde DataChannel-wire-format.

Specificaties & referenties

Gezaghebbende bronnen voor het protocol dat deze component implementeert.

Documentatie & demo's

Deep-link naar de componentreferentie, pak het kant-en-klare demoproject en download de proefversie.

Online help — TsgcRTCPeerConnection Volledige referentie van eigenschappen, methoden en events voor deze component.
Demoproject — Demos\35.P2P\05.RTCPeerConnection Kant-en-klaar voorbeeldproject. Wordt meegeleverd in de sgcWebSockets-package — download hieronder de proefversie.
Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronverwijzingen — alleen voor deze component.
Gebruikershandleiding (PDF) Uitgebreide handleiding die elke component in de bibliotheek behandelt.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Klaar om WebRTC in Delphi te draaien?

Download de gratis proefversie en voeg native RTCPeerConnection toe aan je Delphi-applicaties.