STUN Server
Ejecuta tu propio servidor STUN (RFC 8489) en Delphi. Responde a los binding requests con la respuesta canónica XOR-MAPPED-ADDRESS — útil en redes privadas, despliegues on-premise y bootstrapping de ICE.
Ejecuta tu propio servidor STUN (RFC 8489) en Delphi. Responde a los binding requests con la respuesta canónica XOR-MAPPED-ADDRESS — útil en redes privadas, despliegues on-premise y bootstrapping de ICE.
Un servidor STUN tipado conforme a RFC 8489 — procesa mensajes Binding / Indication, responde con XOR-MAPPED-ADDRESS y, opcionalmente, exige MESSAGE-INTEGRITY para autenticación long-term.
TsgcSTUNServer
Windows, macOS, Linux, iOS, Android
Enterprise
Configura Port (por defecto 3478), Active := True — tu servidor responderá a las Binding requests con la respuesta canónica XOR-MAPPED-ADDRESS de RFC 8489.
uses
sgcP2P;
var
STUNServer: TsgcSTUNServer;
begin
STUNServer := TsgcSTUNServer.Create(nil);
STUNServer.Port := 3478;
// opcional: credenciales long-term
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 servidor STUN autoalojado — ideal para despliegues WebRTC on-premise y pruebas en cloud privada.
A los Binding requests entrantes se les responde con XOR-MAPPED-ADDRESS, MAPPED-ADDRESS (legado) y FINGERPRINT — replicando la forma de respuesta estándar de RFC 8489.
Activa Authentication.Enabled para exigir MESSAGE-INTEGRITY. OnSTUNAuthenticate expone el nombre de usuario de la petición para que devuelvas la contraseña correspondiente desde tu almacén.
Combínalo con TsgcWSRateLimiter para limitar las peticiones STUN entrantes por IP de origen — protección útil contra abusos de amplificación.
Asocia a cualquier familia o dual-stack mediante IPVersion. La respuesta XOR-MAPPED-ADDRESS usa la familia del transporte entrante.
Para la variante STUN sobre TLS, configura el listener TCP subyacente con opciones SSL — útil cuando UDP está bloqueado en la salida de red.
OnSTUNRequest / OnSTUNResponse registran cada transacción, incluyendo Method, MessageType y la lista de atributos parseados — perfectos para depurar despliegues.
Accede a la referencia del componente, descarga el proyecto demo listo para ejecutar y la versión de prueba.
| Ayuda en línea — TsgcSTUNServer Referencia completa de propiedades, métodos y eventos de este componente. | Abrir | |
| Proyecto demo — Demos\35.P2P\02.STUN Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo. | Abrir | |
| Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias — solo este componente. | Abrir | |
| Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca. | Abrir |