RTCPeerConnection
Use WebRTC a partir do Delphi/C++Builder — ICE para conectividade, DTLS 1.3 para o handshake de chaves, SRTP para mídia, SCTP-over-DTLS para DataChannels. Sem navegador necessário.
Use WebRTC a partir do Delphi/C++Builder — ICE para conectividade, DTLS 1.3 para o handshake de chaves, SRTP para mídia, SCTP-over-DTLS para DataChannels. Sem navegador necessário.
Peer WebRTC nativo para Delphi — espelha a superfície W3C RTCPeerConnection (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) suportada pelas stacks ICE, DTLS 1.3, SRTP e SCTP integradas.
TsgcRTCPeerConnection
Windows, macOS, Linux, iOS, Android
Enterprise
Adicione servidores ICE, chame CreateOffer, envie o SDP ao peer remoto pelo seu canal de sinalização, defina o answer e o caminho de dados estará pronto.
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();
Um peer WebRTC nativo que reúne ICE, DTLS 1.3, SRTP e SCTP em um único componente — espelhando a API W3C RTCPeerConnection.
CreateOffer e CreateAnswer geram SDP RFC 8866 com os atributos corretos de ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP; SetRemoteDescription ingere o SDP do peer remoto.
Usa TsgcICEClient internamente para coleta de candidatos e verificações de conectividade; AddIceCandidate alimenta candidatos remotos conforme chegam do canal de sinalização.
Após o par ICE selecionado se tornar gravável, o componente realiza o handshake DTLS 1.3 (RFC 9147) e deriva as chaves SRTP via SRTP-extractor.
CreateDataChannel abre um stream SCTP multiplexado sobre DTLS — confiável / parcialmente confiável, ordenado / não ordenado, com backpressure via BufferedAmount.
Faixas de áudio/vídeo trafegam via SRTP. O componente de sinalização do lado do servidor TsgcWSPServer_RTCPeerConnection permite criar relays no estilo SFU.
Interopera com o RTCPeerConnection do navegador — testado com Chromium / Firefox / Safari. Mesma semântica SDP, mesmos candidatos ICE, mesmo formato de wire do DataChannel.
Fontes oficiais do protocolo implementado por este componente.
Acesse a referência do componente, obtenha o projeto de demo pronto para executar e baixe o trial.
| Ajuda Online — TsgcRTCPeerConnection Referência completa de propriedades, métodos e eventos deste componente. | Open | |
| Projeto de Demo — Demos\35.P2P\05.RTCPeerConnection Projeto de exemplo pronto para executar. Incluído no pacote sgcWebSockets — baixe o trial abaixo. | Open | |
| Documento Técnico (PDF) Recursos, quick start, exemplos de código para Delphi & C++ Builder e referências primárias — somente este componente. | Open | |
| Manual do Usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca. | Open |