ICE İstemcisi
Tam ICE algoritmasını Delphi/C++Builder'da çalıştırın — host, server-reflexive ve relay adaylarını toplayın, STUN bağlantı denetimleri yapın, RFC 8445'e göre en iyi çifti seçin.
Tam ICE algoritmasını Delphi/C++Builder'da çalıştırın — host, server-reflexive ve relay adaylarını toplayın, STUN bağlantı denetimleri yapın, RFC 8445'e göre en iyi çifti seçin.
RFC 8445 ICE durum makinesini uygular — aday toplama, önceliklendirme, çift oluşturma, bağlantı denetimleri (USE-CANDIDATE ile BindingRequest), seçim ve consent freshness.
TsgcICEClient
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
STUN/TURN ICE sunucularını yapılandırın, GatherCandidates çağırın, aday listesini eşle değiş tokuş edin (bant dışı), ardından çalışan bir çifti seçmek için StartChecks çağırın.
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'ın altına yerleşen — veya WebRTC dışı P2P için kendi başına çalışan yeniden kullanılabilir bir ICE motoru.
Her yerel arabirimden host adaylarını, her STUN sunucusundan server-reflexive adaylarını, her TURN sunucusundan relayed adaylarını numaralandırır — tümü paralel olarak.
Aday-çift önceliklerini RFC 8445 §6.1.2'ye göre hesaplar ve denetim listesini sıralar. Dondurulmuş çiftler, temelleri ilerledikçe çözülür.
Standarda göre PRIORITY, ICE-CONTROLLING / ICE-CONTROLLED, USE-CANDIDATE öznitelikleriyle STUN BindingRequest gönderir. Tetiklenen denetimler gelen uyaranla çalışır.
Bir çift başarılı olduğunda ve kontrol eden aracı USE-CANDIDATE işaretlediğinde, bileşen iceConnected ile OnICEConnectionStateChanged tetikler, ardından son seçilen çiftte iceCompleted.
RFC 7675 consent-freshness yoklamalarını uygular — seçilen çiftte periyodik STUN BindingRequest'leri, onay kaybedildiğinde OnICEConnectionStateChanged(iceFailed) ile.
Bileşen belirli bir sinyalleşme kanalı varsaymaz — yerel adayları WebSocket / SIP / HTTP sinyalleşmeniz üzerinden iletir ve uzak adayları geri beslersiniz.
Bileşen referansına doğrudan bağlanın, kullanıma hazır demo projesini alın ve denemeyi indirin.
| Çevrimiçi Yardım — TsgcICEClient Bu bileşen için tam özellik, metot ve olay referansı. | Aç | |
| Demo Projesi — Demos\35.P2P\04.ICE Kullanıma hazır örnek proje. sgcWebSockets paketi içinde gelir — aşağıdan denemeyi indirin. | Aç | |
| 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. | Aç | |
| Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz. | Aç |