Servidor STUN
Execute seu próprio servidor STUN (RFC 8489) em Delphi. Responda requisições binding com a resposta canônica XOR-MAPPED-ADDRESS — útil em redes privadas, implantações on-premise e bootstrapping de ICE.
Execute seu próprio servidor STUN (RFC 8489) em Delphi. Responda requisições binding com a resposta canônica XOR-MAPPED-ADDRESS — útil em redes privadas, implantações on-premise e bootstrapping de ICE.
Um servidor STUN RFC 8489 tipado — processa mensagens Binding / Indication, responde com XOR-MAPPED-ADDRESS e, opcionalmente, aplica MESSAGE-INTEGRITY para autenticação de longo prazo.
TsgcSTUNServer
Windows, macOS, Linux, iOS, Android
Enterprise
Defina Port (padrão 3478), Active := True — seu servidor já responde requisições Binding com a resposta canônica XOR-MAPPED-ADDRESS da RFC 8489.
uses
sgcP2P;
var
STUNServer: TsgcSTUNServer;
begin
STUNServer := TsgcSTUNServer.Create(nil);
STUNServer.Port := 3478;
// opcional: credenciais de longo prazo
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;
// usa: sgcP2P
TsgcSTUNServer *STUNServer = new TsgcSTUNServer(this);
STUNServer->Port = 3478;
STUNServer->Active = true;
Um servidor STUN auto-hospedado — ideal para implantações WebRTC on-premise e testes em nuvem privada.
Requisições Binding recebidas são respondidas com XOR-MAPPED-ADDRESS, MAPPED-ADDRESS (legado) e FINGERPRINT — seguindo o formato padrão de resposta da RFC 8489.
Alterne Authentication.Enabled para exigir MESSAGE-INTEGRITY. OnSTUNAuthenticate expõe o username da requisição para você retornar a senha correspondente do seu armazenamento.
Combine com TsgcWSRateLimiter para limitar requisições STUN recebidas por IP de origem — proteção útil contra abuso de amplificação.
Faça bind a qualquer família ou em pilha dupla via IPVersion. A resposta XOR-MAPPED-ADDRESS usa a família do transporte recebido.
Para a variante STUN-sobre-TLS, configure o listener TCP subjacente com opções SSL — útil quando o UDP está bloqueado na saída da rede.
OnSTUNRequest / OnSTUNResponse registram cada transação, incluindo Method, MessageType e a lista de atributos analisados — ótimo para depurar implantações.
Acesse a referência do componente, pegue o projeto demo pronto para executar e baixe a versão de avaliação.
| Ajuda online — TsgcSTUNServer Referência completa de propriedades, métodos e eventos deste componente. | Abrir | |
| Projeto demo — Demos\35.P2P\02.STUN Exemplo pronto para executar. Acompanha o pacote sgcWebSockets — baixe a versão de avaliação abaixo. | Abrir | |
| Documento técnico (PDF) Recursos, início rápido, exemplos de código para Delphi & C++ Builder e referências de fontes primárias — somente deste componente. | Abrir | |
| Manual do usuário (PDF) Manual completo cobrindo todos os componentes da biblioteca. | Abrir |