RTCPeerConnection
Talk WebRTC from Delphi/C++Builder — ICE for connectivity, DTLS 1.3 for the keying handshake, SRTP for media, SCTP-over-DTLS for DataChannels. No browser required.
Talk WebRTC from Delphi/C++Builder — ICE for connectivity, DTLS 1.3 for the keying handshake, SRTP for media, SCTP-over-DTLS for DataChannels. No browser required.
Natywny peer WebRTC dla Delphi — odzwierciedla interfejs W3C RTCPeerConnection (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) oparty na wbudowanych stosach ICE, DTLS 1.3, SRTP i SCTP.
TsgcRTCPeerConnection
Windows, macOS, Linux, iOS, Android
Enterprise
Dodaj serwery ICE, wywołaj CreateOffer, wyślij SDP do zdalnego peera przez kanał sygnalizacyjny, ustaw odpowiedź — i ścieżka danych jest gotowa.
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();
Natywny peer WebRTC łączący ICE, DTLS 1.3, SRTP i SCTP w jednym komponencie — odzwierciedlający API W3C RTCPeerConnection.
CreateOffer i CreateAnswer generują SDP zgodny z RFC 8866 z właściwymi atrybutami ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP; SetRemoteDescription przyjmuje SDP zdalnego peera.
Wewnętrznie używa TsgcICEClient do zbierania kandydatów i sprawdzania łączności; AddIceCandidate dostarcza zdalne kandydaty w miarę ich napływania z kanału sygnalizacyjnego.
Po wyborze pary ICE komponent wykonuje handshake DTLS 1.3 (RFC 9147) i wyprowadza klucze SRTP przez ekstraktor SRTP.
CreateDataChannel otwiera strumień SCTP multipleksowany przez DTLS — niezawodny / częściowo niezawodny, z kolejnością lub bez, z regulacją przepływu przez BufferedAmount.
Ścieżki audio / wideo są przesyłane przez SRTP. Towarzyszący komponent sygnalizacji serwerowej TsgcWSPServer_RTCPeerConnection pozwala budować przekaźniki w stylu SFU.
Współpracuje z RTCPeerConnection w przeglądarce — przetestowany z Chromium / Firefox / Safari. Te same semantyki SDP, te same kandydaty ICE, ten sam format DataChannel.
Autorytatywne źródła protokołu implementowanego przez ten komponent.
Przejdź do dokumentacji komponentu, pobierz gotowy projekt demonstracyjny i wersję próbną.
| Pomoc online — TsgcRTCPeerConnection Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — Demos\35.P2P\05.RTCPeerConnection Gotowy do uruchomienia przykładowy projekt. Dołączony do pakietu sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł pierwotnych — tylko ten komponent. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |