RTCPeerConnection
Sprich WebRTC aus Delphi/C++Builder — ICE für die Konnektivität, DTLS 1.3 für den Keying-Handshake, SRTP für Medien, SCTP-over-DTLS für DataChannels. Kein Browser erforderlich.
Sprich WebRTC aus Delphi/C++Builder — ICE für die Konnektivität, DTLS 1.3 für den Keying-Handshake, SRTP für Medien, SCTP-over-DTLS für DataChannels. Kein Browser erforderlich.
Nativer Delphi-WebRTC-Peer — bildet die W3C-RTCPeerConnection-Oberfläche ab (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel), gestützt auf die mitgelieferten ICE-, DTLS-1.3-, SRTP- und SCTP-Stacks.
TsgcRTCPeerConnection
Windows, macOS, Linux, iOS, Android
Enterprise
Füge ICE-Server hinzu, rufe CreateOffer auf, schicke das SDP über deinen Signalling-Kanal an den Remote-Peer, setze die Antwort — und der Datenpfad startet.
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();
Ein nativer WebRTC-Peer, der ICE, DTLS 1.3, SRTP und SCTP in einer einzigen Komponente bündelt — mit gleicher Oberfläche wie die W3C-RTCPeerConnection-API.
CreateOffer und CreateAnswer erzeugen RFC-8866-SDP mit den passenden ICE-UFRAG-, ICE-PWD-, FINGERPRINT- und SETUP-Attributen; SetRemoteDescription liest das SDP des Peers ein.
Verwendet intern TsgcICEClient für Kandidatensammlung und Konnektivitätsprüfungen; AddIceCandidate speist Remote-Kandidaten ein, sobald sie aus dem Signalling eintreffen.
Sobald das ausgewählte ICE-Paar schreibbar wird, führt die Komponente einen DTLS-1.3-Handshake (RFC 9147) durch und leitet SRTP-Schlüssel über den SRTP-Extractor ab.
CreateDataChannel öffnet einen über DTLS multiplexten SCTP-Stream — reliable / partial-reliable, ordered / unordered, mit Backpressure über BufferedAmount.
Audio- und Video-Tracks laufen über SRTP. Die zugehörige serverseitige Signalling-Komponente TsgcWSPServer_RTCPeerConnection erlaubt dir den Bau von SFU-artigen Relays.
Interoperabel mit Browser-RTCPeerConnection — getestet gegen Chromium / Firefox / Safari. Gleiche SDP-Semantik, gleiche ICE-Kandidaten, gleiches DataChannel-Wire-Format.
Maßgebliche Quellen für das Protokoll, das diese Komponente implementiert.
Springe direkt zur Komponentenreferenz, hole dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.
| Online-Hilfe — TsgcRTCPeerConnection Vollständige Referenz zu Eigenschaften, Methoden und Ereignissen dieser Komponente. | Öffnen | |
| Demo-Projekt — Demos\35.P2P\05.RTCPeerConnection Sofort lauffähiges Beispielprojekt. Wird im sgcWebSockets-Paket mitgeliefert — lade unten die Testversion herunter. | Öffnen | |
| Technisches Dokument (PDF) Funktionen, Schnellstart, Code-Beispiele für Delphi & C++ Builder und Primärquellen-Referenzen — nur diese Komponente. | Öffnen | |
| Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek abdeckt. | Öffnen |