RTCPeerConnection

Comunica via WebRTC da Delphi/C++Builder — ICE per la connettività, DTLS 1.3 per l'handshake di chiave, SRTP per il media, SCTP-over-DTLS per i DataChannel. Nessun browser richiesto.

TsgcRTCPeerConnection

Peer WebRTC Delphi nativo — rispecchia la superficie W3C RTCPeerConnection (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) basata sugli stack inclusi ICE, DTLS 1.3, SRTP e SCTP.

Classe componente

TsgcRTCPeerConnection

Protocollo

WebRTC (W3C)

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Enterprise

Offer / Answer / Connect

Aggiungi i server ICE, CreateOffer, invia l'SDP al peer remoto tramite il tuo canale di signalling, imposta la answer e il percorso dati si accende.

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

Cosa c'è all'interno

Un peer WebRTC nativo che riunisce ICE, DTLS 1.3, SRTP e SCTP in un unico componente — rispecchiando l'API W3C RTCPeerConnection.

SDP Offer / Answer

CreateOffer e CreateAnswer generano SDP RFC 8866 con i giusti attributi ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP; SetRemoteDescription assimila l'SDP del peer.

Connettività guidata da ICE

Usa TsgcICEClient internamente per la raccolta dei candidati e le verifiche di connettività; AddIceCandidate fornisce i candidati remoti man mano che arrivano dal signalling.

Keying DTLS 1.3

Dopo che la coppia ICE selezionata diventa scrivibile, il componente esegue un handshake DTLS 1.3 (RFC 9147) e deriva le chiavi SRTP tramite SRTP-extractor.

DataChannel (SCTP-over-DTLS)

CreateDataChannel apre uno stream SCTP multiplexato su DTLS — reliable / partial-reliable, ordered / unordered, con backpressure tramite BufferedAmount.

Track media

Le track audio / video viaggiano su SRTP. Il componente complementare lato server TsgcWSPServer_RTCPeerConnection per il signalling ti permette di costruire relay in stile SFU.

Compatibile con i browser

Interoperabile con RTCPeerConnection dei browser — testato con Chromium / Firefox / Safari. Stessa semantica SDP, stessi candidati ICE, stesso formato di wire dei DataChannel.

Specifiche e riferimenti

Fonti autorevoli per il protocollo implementato da questo componente.

Documentazione e demo

Collegamenti diretti al riferimento del componente, al progetto demo pronto all'uso e al download della versione di prova.

Guida online — TsgcRTCPeerConnection Riferimento completo di proprietà, metodi ed eventi di questo componente.
Progetto demo — Demos\35.P2P\05.RTCPeerConnection Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre ogni componente della libreria.

Pronto a eseguire WebRTC in Delphi?

Scarica la versione di prova gratuita e aggiungi RTCPeerConnection nativo alle tue applicazioni Delphi.