RTCPeerConnection

Delphi/C++Builder'dan WebRTC konuşun — bağlantı için ICE, anahtarlama el sıkışması için DTLS 1.3, medya için SRTP, DataChannel'lar için DTLS üzerinden SCTP. Tarayıcı gerekmez.

TsgcRTCPeerConnection

Yerel Delphi WebRTC eşi — birlikte gelen ICE, DTLS 1.3, SRTP ve SCTP yığınlarıyla desteklenen W3C RTCPeerConnection yüzeyini (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) yansıtır.

Bileşen sınıfı

TsgcRTCPeerConnection

Protokol

WebRTC (W3C)

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Enterprise

Offer / Answer / Bağlan

ICE sunucuları ekleyin, CreateOffer çağırın, SDP'yi sinyalleşme kanalınız üzerinden uzak eşe gönderin, yanıtı ayarlayın ve veri yolu devreye girsin.

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

İçeriğinde neler var

ICE, DTLS 1.3, SRTP ve SCTP'yi tek bir bileşende bir araya getiren yerel bir WebRTC eşi — W3C RTCPeerConnection API'sini yansıtır.

SDP Offer / Answer

CreateOffer ve CreateAnswer, doğru ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP öznitelikleriyle RFC 8866 SDP üretir; SetRemoteDescription eşin SDP'sini alır.

ICE tabanlı bağlantı

Aday toplama ve bağlantı denetimleri için dahili olarak TsgcICEClient kullanır; AddIceCandidate, sinyalleşmeden geldikçe uzak adayları besler.

DTLS 1.3 anahtarlama

Seçilen ICE çifti yazılabilir hale geldikten sonra, bileşen bir DTLS 1.3 el sıkışması (RFC 9147) gerçekleştirir ve SRTP anahtarlarını SRTP-extractor aracılığıyla türetir.

DataChannel'lar (DTLS üzerinden SCTP)

CreateDataChannel, DTLS üzerinde çoklanmış bir SCTP akışı açar — güvenilir / kısmen güvenilir, sıralı / sırasız, BufferedAmount aracılığıyla geri basınçla.

Medya izleri

Ses / video izleri SRTP üzerinden gider. Tamamlayıcı TsgcWSPServer_RTCPeerConnection sunucu tarafı sinyalleşme bileşeni, SFU tarzı röleler oluşturmanıza olanak tanır.

Tarayıcı uyumlu

Tarayıcı RTCPeerConnection ile birlikte çalışır — Chromium / Firefox / Safari'ye karşı test edilmiştir. Aynı SDP semantiği, aynı ICE adayları, aynı DataChannel iletişim biçimi.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı protokol için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, kullanıma hazır demo projesini alın ve denemeyi indirin.

Çevrimiçi Yardım — TsgcRTCPeerConnection Bu bileşen için tam özellik, metot ve olay referansı.
Demo Projesi — Demos\35.P2P\05.RTCPeerConnection Kullanıma hazır örnek proje. sgcWebSockets paketi içinde gelir — aşağıdan denemeyi indirin.
Teknik Belge (PDF) Delphi ve C++ Builder için özellikler, hızlı başlangıç, kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

Delphi'de WebRTC Çalıştırmaya Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi uygulamalarınıza yerel RTCPeerConnection ekleyin.