Serveur STUN
Fais tourner ton propre serveur STUN (RFC 8489) en Delphi. Réponds aux requêtes Binding avec la réponse canonique XOR-MAPPED-ADDRESS — utile dans les réseaux privés, les déploiements sur site et l'amorçage ICE.
Fais tourner ton propre serveur STUN (RFC 8489) en Delphi. Réponds aux requêtes Binding avec la réponse canonique XOR-MAPPED-ADDRESS — utile dans les réseaux privés, les déploiements sur site et l'amorçage ICE.
Un serveur STUN typé conforme à la RFC 8489 — traite les messages Binding / Indication, répond avec XOR-MAPPED-ADDRESS, applique en option MESSAGE-INTEGRITY pour l'authentification longue durée.
TsgcSTUNServer
Windows, macOS, Linux, iOS, Android
Enterprise
Configure Port (par défaut 3478), Active := True — ton serveur répond désormais aux requêtes Binding avec la réponse canonique XOR-MAPPED-ADDRESS de la RFC 8489.
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;
Un serveur STUN auto-hébergé — idéal pour les déploiements WebRTC sur site et les tests en cloud privé.
Les requêtes Binding entrantes reçoivent une réponse avec XOR-MAPPED-ADDRESS, MAPPED-ADDRESS (legacy) et FINGERPRINT — conforme au format de réponse standard de la RFC 8489.
Active Authentication.Enabled pour exiger MESSAGE-INTEGRITY. OnSTUNAuthenticate expose le nom d'utilisateur de la requête pour que tu renvoies le mot de passe correspondant depuis ton stockage.
Combine avec TsgcWSRateLimiter pour limiter les requêtes STUN entrantes par IP source — protection utile contre les abus d'amplification.
Lie-toi à l'une ou l'autre famille, ou en double pile via IPVersion. La réponse XOR-MAPPED-ADDRESS utilise la famille du transport entrant.
Pour la variante STUN-over-TLS, configure l'écouteur TCP sous-jacent avec les options SSL — utile quand UDP est bloqué en sortie réseau.
OnSTUNRequest / OnSTUNResponse journalisent chaque transaction, y compris Method, MessageType et la liste d'attributs analysés — idéal pour déboguer les déploiements.
Lien direct vers la référence du composant, projet de démo prêt à l'emploi et téléchargement de l'essai.
| Aide en ligne — TsgcSTUNServer Référence complète des propriétés, méthodes et événements de ce composant. | Ouvrir | |
| Projet de démo — Demos\35.P2P\02.STUN Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code Delphi et C++ Builder et références primaires — ce composant uniquement. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque. | Ouvrir |