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.
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.
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.
TsgcRTCPeerConnection
Windows, macOS, Linux, iOS, Android
Enterprise
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();
Een native WebRTC-peer die ICE, DTLS 1.3, SRTP en SCTP bundelt in één component — spiegelt de W3C RTCPeerConnection-API.
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.
Gebruikt intern TsgcICEClient voor het verzamelen van kandidaten en connectiviteitscontroles; AddIceCandidate voert remote kandidaten in zodra ze via signalling binnenkomen.
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.
CreateDataChannel opent een SCTP-stream gemultiplext over DTLS — reliable / partial-reliable, geordend / ongeordend, met backpressure via BufferedAmount.
Audio- en videotracks gaan via SRTP. De bijbehorende server-side signalling-component TsgcWSPServer_RTCPeerConnection laat je SFU-achtige relays bouwen.
Werkt samen met browser-RTCPeerConnection — getest tegen Chromium / Firefox / Safari. Dezelfde SDP-semantiek, dezelfde ICE-kandidaten, hetzelfde DataChannel-wire-format.
Gezaghebbende bronnen voor het protocol dat deze component implementeert.
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. | Openen | |
| Demoproject — Demos\35.P2P\05.RTCPeerConnection Kant-en-klaar voorbeeldproject. Wordt meegeleverd in de sgcWebSockets-package — download hieronder de proefversie. | Openen | |
| Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronverwijzingen — alleen voor deze component. | Openen | |
| Gebruikershandleiding (PDF) Uitgebreide handleiding die elke component in de bibliotheek behandelt. | Openen |