STUN-server
Draai je eigen STUN-server (RFC 8489) in Delphi. Beantwoord binding requests met het canonieke XOR-MAPPED-ADDRESS antwoord — handig in private netwerken, on-premise deployments en ICE bootstrapping.
Draai je eigen STUN-server (RFC 8489) in Delphi. Beantwoord binding requests met het canonieke XOR-MAPPED-ADDRESS antwoord — handig in private netwerken, on-premise deployments en ICE bootstrapping.
Een getypeerde RFC 8489 STUN-server — verwerkt Binding / Indication berichten, antwoordt met XOR-MAPPED-ADDRESS en kan optioneel MESSAGE-INTEGRITY afdwingen voor long-term authenticatie.
TsgcSTUNServer
Windows, macOS, Linux, iOS, Android
Enterprise
Stel Port in (standaard 3478), Active := True — je server beantwoordt Binding requests nu met het canonieke RFC 8489 XOR-MAPPED-ADDRESS antwoord.
uses
sgcP2P;
var
STUNServer: TsgcSTUNServer;
begin
STUNServer := TsgcSTUNServer.Create(nil);
STUNServer.Port := 3478;
// optional: long-term credentials
STUNServer.Authentication.Enabled := True;
STUNServer.Authentication.Realm := 'example.com';
STUNServer.OnSTUNAuthenticate := procedure(Sender: TObject;
const aUsername: string; var aPassword: string;
var Accept: Boolean)
begin
aPassword := LookupPassword(aUsername);
Accept := aPassword <> '';
end;
STUNServer.Active := True;
end;
// uses: sgcP2P
TsgcSTUNServer *STUNServer = new TsgcSTUNServer(this);
STUNServer->Port = 3478;
STUNServer->Active = true;
Een self-hosted STUN-server — ideaal voor on-premise WebRTC-deployments en private-cloud testen.
Inkomende Binding requests worden beantwoord met XOR-MAPPED-ADDRESS, MAPPED-ADDRESS (legacy) en FINGERPRINT — passend bij de standaard RFC 8489 antwoordvorm.
Zet Authentication.Enabled aan om MESSAGE-INTEGRITY te vereisen. OnSTUNAuthenticate geeft de username uit het verzoek door zodat jij het bijbehorende wachtwoord uit je store kunt teruggeven.
Combineer met TsgcWSRateLimiter om inkomende STUN-verzoeken per bron-IP te beperken — nuttige bescherming tegen amplification-misbruik.
Bind aan beide families of dual-stack via IPVersion. Het XOR-MAPPED-ADDRESS antwoord gebruikt de familie van het inkomende transport.
Configureer voor de STUN-over-TLS variant de onderliggende TCP-listener met SSL-opties — handig wanneer UDP wordt geblokkeerd aan de netwerkrand.
OnSTUNRequest / OnSTUNResponse loggen elke transactie inclusief Method, MessageType en de geparseerde attribuutlijst — ideaal om deployments te debuggen.
Direct linken naar de componentreferentie, het kant-en-klare demoproject pakken en de proefversie downloaden.
| Online help — TsgcSTUNServer Volledige referentie van eigenschappen, methoden en gebeurtenissen voor dit component. | Openen | |
| Demoproject — Demos\35.P2P\02.STUN Kant-en-klaar voorbeeldproject. Zit in het sgcWebSockets-pakket — download hieronder de proefversie. | Openen | |
| Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronverwijzingen — alleen dit component. | Openen | |
| Gebruikershandleiding (PDF) Uitgebreide handleiding voor elk component in de bibliotheek. | Openen |