RTCPeerConnection
Delphi/C++Builder에서 WebRTC를 사용하세요 — 연결을 위한 ICE, 키잉 핸드셰이크를 위한 DTLS 1.3, 미디어를 위한 SRTP, DataChannel을 위한 SCTP-over-DTLS. 브라우저가 필요 없어요.
Delphi/C++Builder에서 WebRTC를 사용하세요 — 연결을 위한 ICE, 키잉 핸드셰이크를 위한 DTLS 1.3, 미디어를 위한 SRTP, DataChannel을 위한 SCTP-over-DTLS. 브라우저가 필요 없어요.
네이티브 Delphi WebRTC 피어 — W3C RTCPeerConnection 인터페이스(CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel)를 내장된 ICE, DTLS 1.3, SRTP 및 SCTP 스택으로 구현합니다.
TsgcRTCPeerConnection
Windows, macOS, Linux, iOS, Android
Enterprise
ICE 서버를 추가하고 CreateOffer를 호출한 뒤, 시그널링 채널로 원격 피어에 SDP를 전송하고 응답을 설정하면 데이터 경로가 활성화됩니다.
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();
ICE, DTLS 1.3, SRTP 및 SCTP를 단일 컴포넌트에 번들로 제공하는 네이티브 WebRTC 피어입니다 — W3C RTCPeerConnection API를 반영합니다.
CreateOffer와 CreateAnswer는 올바른 ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP 속성을 포함한 RFC 8866 SDP를 생성하고, SetRemoteDescription은 피어의 SDP를 수신합니다.
내부적으로 TsgcICEClient를 사용하여 후보 수집과 연결 확인을 수행합니다. AddIceCandidate는 시그널링에서 수신되는 원격 후보를 처리합니다.
선택된 ICE 쌍이 쓰기 가능해지면 컴포넌트가 DTLS 1.3 핸드셰이크(RFC 9147)를 수행하고 SRTP-extractor를 통해 SRTP 키를 도출합니다.
CreateDataChannel은 DTLS 위에 다중화된 SCTP 스트림을 엽니다 — 신뢰성/부분 신뢰성, 순서 있음/없음을 지원하며 BufferedAmount를 통한 백프레셔를 갖추고 있어요.
오디오/비디오 트랙은 SRTP를 통해 전송됩니다. 동반 서버 측 시그널링 컴포넌트 TsgcWSPServer_RTCPeerConnection을 사용하여 SFU 스타일 릴레이를 구축할 수 있어요.
브라우저 RTCPeerConnection과 상호 운용됩니다 — Chromium / Firefox / Safari에서 테스트 완료. 동일한 SDP 의미론, 동일한 ICE 후보, 동일한 DataChannel 와이어 포맷을 사용합니다.
이 컴포넌트가 구현하는 프로토콜의 공식 출처입니다.
컴포넌트 레퍼런스로 바로 이동하고, 실행 가능한 데모 프로젝트를 받아보세요.
| 온라인 도움말 — TsgcRTCPeerConnection 이 컴포넌트의 전체 속성, 메서드 및 이벤트 레퍼런스입니다. | 열기 | |
| 데모 프로젝트 — Demos\35.P2P\05.RTCPeerConnection 실행 가능한 예제 프로젝트입니다. sgcWebSockets 패키지에 포함되어 있습니다. | 열기 | |
| 기술 문서 (PDF) Delphi 및 C++ Builder용 코드 샘플과 기능 설명이 포함된 기술 문서입니다. | 열기 | |
| 사용자 매뉴얼 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼입니다. | 열기 |