STUN-client
Ontdek je reflexive endpoint achter NAT met een typed STUN-client (RFC 8489). Wordt gebruikt als bootstrap-stap voor het verzamelen van ICE-kandidaten en voor WebRTC.
Ontdek je reflexive endpoint achter NAT met een typed STUN-client (RFC 8489). Wordt gebruikt als bootstrap-stap voor het verzamelen van ICE-kandidaten en voor WebRTC.
STUN-client — Binding requests, extractie van XOR-MAPPED-ADDRESS, ondersteuning voor MESSAGE-INTEGRITY / FINGERPRINT en retransmissietimer conform RFC 8489.
TsgcSTUNClient
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Stel de STUN-server-host/poort in, roep SendBindingRequest aan en lees vervolgens MappedAddress / MappedPort uit OnSTUNMappedAddress.
uses
sgcP2P;
var
STUN: TsgcSTUNClient;
begin
STUN := TsgcSTUNClient.Create(nil);
STUN.Host := 'stun.l.google.com';
STUN.Port := 19302;
STUN.OnSTUNMappedAddress := procedure(Sender: TObject;
const aMappedAddress, aMappedPort: string)
begin
Memo1.Lines.Add('public: ' + aMappedAddress + ':' + aMappedPort);
end;
STUN.SendBindingRequest;
end;
// uses: sgcP2P
TsgcSTUNClient *STUN = new TsgcSTUNClient(this);
STUN->Host = "stun.l.google.com";
STUN->Port = 19302;
STUN->SendBindingRequest();
Een typed RFC 8489 STUN-client met de message-integrity- en fingerprint-extensies die door ICE worden gebruikt.
SendBindingRequest verstuurt het STUN-0x0001-bericht; het antwoord verschijnt in OnSTUNMappedAddress met het geparste XOR-MAPPED-ADDRESS-attribuut.
Stel Authentication.UserName / Password in en de component berekent MESSAGE-INTEGRITY (HMAC-SHA1 / HMAC-SHA256). Realm en nonce worden geëxtraheerd uit het 401 challenge-antwoord.
STUN over UDP vereist retransmissie op applicatieniveau. De component implementeert de standaard back-off (RTO / Rc / Rm) volgens RFC 8489 §6.2.1.
XOR-MAPPED-ADDRESS kan in beide families terugkomen — de component decodeert beide en slaat de canonieke tekstvorm op in MappedAddress.
Stuur meerdere TsgcSTUNClient-instanties aan tegen meerdere STUN-servers om server-reflexive ICE-kandidaten te verzamelen — één per lokale interface.
Gebruikt intern TsgcUDPClient; de lokale-poort-binding is configureerbaar zodat STUN, ICE en het datapad indien nodig een endpoint kunnen delen.
Deep-link naar de componentreferentie, pak het kant-en-klare demoproject en download de proefversie.
| Online help — TsgcSTUNClient Volledige referentie van eigenschappen, methoden en events voor deze component. | Openen | |
| Demoproject — Demos\35.P2P\02.STUN Kant-en-klaar voorbeeldproject. Wordt meegeleverd in de sgcWebSockets-package — download hieronder de proefversie. | Openen | |
| Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronverwijzingen — alleen voor deze component. | Openen | |
| Gebruikershandleiding (PDF) Uitgebreide handleiding die elke component in de bibliotheek behandelt. | Openen |