ICE Client
Delphi/C++Builder에서 완전한 ICE 알고리즘을 실행하세요 — 호스트, 서버 리플렉시브 및 릴레이 후보를 수집하고, STUN 연결 확인을 수행하며, RFC 8445에 따라 최적 쌍을 선택합니다.
Delphi/C++Builder에서 완전한 ICE 알고리즘을 실행하세요 — 호스트, 서버 리플렉시브 및 릴레이 후보를 수집하고, STUN 연결 확인을 수행하며, RFC 8445에 따라 최적 쌍을 선택합니다.
RFC 8445 ICE 상태 머신을 구현합니다 — 후보 수집, 우선순위 지정, 쌍 생성, 연결 확인(USE-CANDIDATE 포함 BindingRequest), 선택 및 동의 유효성 확인.
TsgcICEClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
STUN/TURN ICE 서버를 구성하고 GatherCandidates를 호출한 뒤, 대역 외로 피어와 후보 목록을 교환하고 StartChecks로 작동 중인 쌍을 선택하세요.
uses
sgcP2P;
var
ICE: TsgcICEClient;
begin
ICE := TsgcICEClient.Create(nil);
ICE.IceServers.Add('stun:stun.l.google.com:19302');
ICE.IceServers.Add('turn:turn.example.com', 'alice', 'secret');
ICE.OnICELocalCandidate := procedure(Sender: TObject;
const aCandidate: string)
begin
SignalToPeer(aCandidate); // out-of-band SDP / WebSocket
end;
ICE.OnICEConnectionStateChanged := procedure(Sender: TObject;
const aState: TsgcICEConnectionState)
begin
Memo1.Lines.Add('ICE: ' + GetEnumName(TypeInfo(TsgcICEConnectionState), Ord(aState)));
end;
ICE.GatherCandidates;
end;
// uses: sgcP2P
TsgcICEClient *ICE = new TsgcICEClient(this);
ICE->IceServers->Add("stun:stun.l.google.com:19302");
ICE->GatherCandidates();
TsgcRTCPeerConnection 아래에서 동작하거나 비WebRTC P2P에서 독립적으로 실행할 수 있는 재사용 가능한 ICE 엔진입니다.
모든 로컬 인터페이스에서 호스트 후보를, 각 STUN 서버에서 서버 리플렉시브 후보를, 각 TURN 서버에서 릴레이 후보를 병렬로 수집합니다.
RFC 8445 §6.1.2에 따라 후보 쌍 우선순위를 계산하고 확인 목록을 정렬합니다. 동결된 쌍은 기반이 진행되면 동결 해제됩니다.
표준에 따라 PRIORITY, ICE-CONTROLLING / ICE-CONTROLLED, USE-CANDIDATE 속성이 포함된 STUN BindingRequest를 전송합니다. 트리거된 확인은 인바운드 자극에 의해 실행됩니다.
쌍이 성공하고 제어 에이전트가 USE-CANDIDATE를 표시하면 컴포넌트가 iceConnected와 함께 OnICEConnectionStateChanged를 발생시키고, 최종 선택된 쌍에서 iceCompleted를 발생시킵니다.
RFC 7675 동의 유효성 프로브를 구현합니다 — 선택된 쌍에 주기적인 STUN BindingRequest를 전송하고, 동의가 만료되면 OnICEConnectionStateChanged(iceFailed)를 발생시킵니다.
컴포넌트는 특정 시그널링 채널을 가정하지 않습니다. 로컬 후보를 WebSocket / SIP / HTTP 시그널링으로 전달하고, 원격 후보를 다시 입력하세요.
컴포넌트 레퍼런스로 바로 이동하고, 실행 가능한 데모 프로젝트를 받아보세요.
| 온라인 도움말 — TsgcICEClient 이 컴포넌트의 전체 속성, 메서드 및 이벤트 레퍼런스입니다. | 열기 | |
| 데모 프로젝트 — Demos\35.P2P\04.ICE 실행 가능한 예제 프로젝트입니다. sgcWebSockets 패키지에 포함되어 있습니다. | 열기 | |
| 기술 문서 (PDF) Delphi 및 C++ Builder용 코드 샘플과 기능 설명이 포함된 기술 문서입니다. | 열기 | |
| 사용자 매뉴얼 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼입니다. | 열기 |