Escolhendo uma biblioteca WebSocket para Delphi — Guia de compra 2026

· Análises

Por que este guia existe

WebSocket deixou de ser um transporte de nicho. Dashboards de trading, backends de chat, jogos multiplayer, planos de controle IoT, respostas de IA em streaming, consoles de administração no navegador — quase toda aplicação interativa moderna abre pelo menos um WebSocket. Desenvolvedores Delphi que se perguntam “qual biblioteca devo usar?” em 2026 enfrentam um campo menor do que poderiam pensar: nem todo pacote clássico de networking em Delphi acompanhou a RFC 6455, e alguns dos que acompanharam são voltados a nichos bem específicos.

Este guia faz um levantamento das opções realistas em 2026 — sgcWebSockets, Indy, TMS FNC WX, mORMot, Synapse — e termina com uma matriz de decisão. Onde as afirmações dependem do release atual de um fornecedor, este artigo descreve a situação na data de publicação; sempre confirme os detalhes no changelog mais recente do fornecedor antes de se comprometer.

Os concorrentes

sgcWebSockets (eSeGeCe)

Biblioteca comercial focada em WebSocket e na família mais ampla de protocolos modernos (HTTP/2, HTTP/3, MQTT, AMQP, STOMP, SSE, WAMP, WebRTC, IoT, APIs de IA). RFC 6455 completo, per-message deflate, subprotocolos, canais, helpers de broadcast, WatchDog de reconexão automática, escalabilidade de servidor via IOCP, espelho de cliente JavaScript, port .NET. Edição Free para uso não comercial; quatro edições pagas. Delphi 7 até 13, além de C++Builder e .NET.

Indy (padrão)

O Indy padrão que vem com o Delphi não inclui cliente ou servidor WebSocket nativo. Vários add-ons da comunidade existem (procure no GitHub por “Indy WebSocket”), mas nenhum faz parte da distribuição oficial do IndyProject na data de publicação. Se você construir um WebSocket diretamente sobre o Indy, estará essencialmente escrevendo o framer por conta própria. Gratuito, vem na caixa.

TMS FNC WX (antigo TMS WEB Core / FNC WebSocket)

A TMS Software fornece um componente WebSocket multiframework como parte da família FNC (TTMSFNCWebSocketClient e um lado servidor via TMS XData / TMS Sparkle). Funciona em VCL, FMX, LCL e TMS WEB Core. O lado cliente é sólido; o lado servidor é entregue principalmente através da stack TMS XData / Sparkle, como recurso desses produtos. Comercial, com preço por assinatura por desenvolvedor. Delphi 10.x e mais recentes.

mORMot 2

Framework open-source full-stack da Synopse (Arnaud Bouchez). Inclui cliente e servidor WebSocket fortemente integrados à sua infraestrutura SOA/ORM/REST. O WebSocket do mORMot é maduro, rápido, suporta framing binário e per-message deflate, e é amplamente usado em produção para serviços de alta escala. O trade-off é que o mORMot é opinativo — é possível usar apenas a camada WebSocket, mas o encaixe natural acontece quando você adota o framework como um todo. Open source (tri-licença MPL/GPL/LGPL), Delphi 7 em diante, mais FreePascal.

Synapse

Biblioteca clássica open-source de redes em Pascal. Na data de publicação, o Synapse padrão não inclui uma implementação WebSocket. Algumas camadas WebSocket de terceiros construídas sobre o Synapse existem, mas estão sem manutenção ou são projetos de um único autor. Gratuito.

Matriz de recursos

Recurso sgcWebSockets Indy (padrão) TMS FNC WX mORMot 2 Synapse
Cliente WebSocketSimNãoSimSimNão
Servidor WebSocketSimNãoVia TMS XData/SparkleSimNão
RFC 6455 (frames, masking, frames de controle)Simn/dSimSimn/d
Per-message deflate (RFC 7692)Simn/dParcialSimn/d
Subprotocolos / canais / broadcastSim, embutidosn/dManualManualn/d
Auto-reconexão / WatchDogSimn/dManualManualn/d
WebSocket sobre TLS (wss://)Sim (OpenSSL, SChannel, BoringSSL)n/dSimSimn/d
Subprotocolos WebSocket-MQTT / STOMP / WAMPSimn/dNãoLimitadon/d
HTTP/2, HTTP/3SimNãoNãoLimitadoNão
Escalabilidade de servidor IOCP / epollSim (IOCP no Windows, epoll no Linux)Thread por conexãoDepende do host serverSimn/d
Espelho de cliente JavaScriptSim (entrega lib JS)n/dSim (integração TMS WEB Core)Manualn/d
Port .NETSim (mesma API)n/dNãoNãon/d
Versões DelphiD7 - D13D7 - D13D10.x - D13D7 - D13, FPCD7 - D13, FPC
LicençaComercial (com Edição Free)Gratuita, estilo MITComercialOpen source tri-licençaGratuita
Suporte do fornecedorIncluído nas edições pagasComunidade (IndyProject)Incluído na assinaturaSuporte comercial via SynopseComunidade / autor único
Manutenção ativaReleases mensaisLenta, porém estávelRegularMuito ativaLenta

Escolhendo por cenário

Cenário 1: app desktop VCL que conecta a uma API WebSocket de terceiros

Você precisa de um cliente que conecte a wss://, envie JSON, receba JSON, reconecte na queda, lide com TLS. O caminho mais curto é o sgcWebSockets (arrasta o componente, define URL, define WatchDog.Attempts, pronto) ou o TMS FNC WX se você já licencia o pack FNC. Indy e Synapse exigirão escrever o framer por conta própria, o que dá bastante trabalho para acertar todos os edge cases da RFC 6455.

Cenário 2: construir um servidor WebSocket para centenas de clientes

O sgcWebSockets é a escolha natural se você quer um componente de servidor autônomo que sirva HTTP e WebSocket na mesma porta, com canais e broadcast. O mORMot 2 é a escolha natural se você já está construindo um serviço SOA/REST dentro do framework mORMot — sua camada WebSocket se integra com o resto da stack e é comprovada em escala.

Cenário 3: dezenas de milhares de conexões concorrentes

Tanto o sgcWebSockets (IOCP no Windows, epoll no Linux) quanto o mORMot 2 já foram colocados em produção nesse patamar. O modelo de thread por conexão do Indy padrão dificilmente acompanhará sem um trabalho arquitetural significativo. A escalabilidade do TMS FNC WX depende do host server escolhido (XData/Sparkle).

Cenário 4: WebSocket dentro de um framework full-stack Pascal (REST, ORM, SOA)

mORMot 2. É para isso que o mORMot existe. Adotar somente a camada WebSocket isoladamente é possível, mas você extrai o máximo de valor abraçando o framework como um todo.

Cenário 5: cliente multiframework (VCL, FMX, LCL, TMS WEB Core)

O TMS FNC WX é projetado exatamente para esse caso — uma API em todos os quatro. O sgcWebSockets cobre VCL, FMX e C++Builder além de um port .NET, mas não tem Lazarus/FPC como alvo.

Cenário 6: precisar de WebSocket mais MQTT, AMQP, WebRTC, HTTP/2, APIs de IA

O sgcWebSockets é a única biblioteca neste comparativo que entrega tudo isso sob um único produto e um único modelo de componentes. Se seu projeto está numa trajetória de “só um cliente WebSocket” para “uma stack completa em tempo real”, consolidar cedo costuma ser mais barato do que colar várias bibliotecas depois.

Cenário 7: orçamento apertado, só open source, projeto de hobby

O mORMot 2 (open source) lhe dá uma implementação WebSocket séria de graça. A Edição Free do sgcWebSockets é uma opção para uso não comercial. Indy com um add-on WebSocket da comunidade é tecnicamente possível, mas conte com ler as RFCs relevantes por conta própria.

Matriz de decisão

O que mais importaEscolha recomendada
Tempo mais curto até o cliente funcionando + suporte do fornecedorsgcWebSockets
Framework full-stack open-sourcemORMot 2
Multiframework (VCL/FMX/LCL/WEB Core)TMS FNC WX
Mais conexões concorrentes, comercialsgcWebSockets
Mais conexões concorrentes, open sourcemORMot 2
Um único produto cobrindo WebSocket + MQTT + HTTP/2 + WebRTC + IAsgcWebSockets
Projeto de hobby gratuito / sem compromissomORMot 2 ou Edição Free do sgcWebSockets
Já está dentro de um projeto TMS XData / SparkleTMS FNC WX
Já está dentro de um projeto mORMotmORMot 2

Checklist antes de fechar

Considerações finais

O cenário Delphi de WebSocket em 2026 é mais saudável do que parece à primeira vista. Para um cliente rápido, o sgcWebSockets coloca você funcionando em minutos. Para um projeto full-stack open-source, o mORMot 2 é difícil de bater. Para clientes GUI multiframework, o TMS FNC WX é um encaixe natural. Indy padrão e Synapse continuam valiosos por seus protocolos clássicos de Internet, mas nenhum dos dois domina WebSocket. A escolha certa depende de onde seu projeto está no espectro entre “um único endpoint” e “uma plataforma completa em tempo real” — escolha a biblioteca que combine tanto com o requisito de hoje quanto com onde você espera que o projeto esteja em dois anos.