Cómo elegir una librería WebSocket para Delphi — Guía de compra 2026

· Reseñas

Por qué existe esta guía

WebSocket ya no es un transporte de nicho. Dashboards de trading, backends de chat, juegos multijugador, planos de control IoT, respuestas en streaming de IA, consolas de administración basadas en navegador — casi cualquier aplicación interactiva moderna abre al menos un WebSocket. Los desarrolladores Delphi preguntándose “¿qué librería debería usar?” en 2026 se enfrentan a un campo menor del que podrían pensar: no todo paquete clásico de red Delphi se ha puesto al día con RFC 6455, y algunos de los que sí lo han hecho apuntan a nichos muy específicos.

Esta guía repasa las opciones realistas de 2026 — sgcWebSockets, Indy, TMS FNC WX, mORMot, Synapse — y da una matriz de decisión al final. Donde las afirmaciones dependen de la release actual de un fabricante, este artículo describe la situación al momento de escribir; confirma siempre los detalles contra el changelog más reciente del fabricante antes de comprometerte.

Los contendientes

sgcWebSockets (eSeGeCe)

Librería comercial centrada en WebSocket y la familia más amplia de protocolos modernos (HTTP/2, HTTP/3, MQTT, AMQP, STOMP, SSE, WAMP, WebRTC, IoT, APIs de IA). RFC 6455 completo, per-message deflate, sub-protocolos, canales, helpers de broadcast, reconexión automática WatchDog, escalado IOCP de servidor, espejo del cliente en JavaScript, port a .NET. Edición Free para uso no comercial; cuatro ediciones de pago. Delphi 7 hasta 13, más C++Builder y .NET.

Indy (de fábrica)

El Indy que viene con Delphi no incluye un cliente o servidor WebSocket nativo. Existen varios add-ons comunitarios (busca en GitHub “Indy WebSocket”) pero ninguno forma parte de la distribución oficial IndyProject al momento de escribir. Si construyes un WebSocket directamente sobre Indy, estás esencialmente escribiendo el framer tú mismo. Gratis, viene en la caja.

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

TMS Software distribuye un componente WebSocket cross-framework como parte de la familia FNC (TTMSFNCWebSocketClient y un lado servidor vía TMS XData / TMS Sparkle). Funciona en VCL, FMX, LCL y TMS WEB Core. El lado cliente es sólido; el lado servidor se entrega principalmente a través de la pila TMS XData / Sparkle como función de esos productos. Comercial, con precios de suscripción por desarrollador. Delphi 10.x y más nuevos.

mORMot 2

Framework full-stack open-source de Synopse (Arnaud Bouchez). Incluye cliente y servidor WebSocket fuertemente integrados con su infraestructura SOA/ORM/REST. El WebSocket de mORMot es maduro, rápido, soporta framing binario y per-message deflate, y se usa ampliamente en producción para servicios de gran escala. El compromiso es que mORMot es opinado — usar sólo su capa WebSocket es posible pero el encaje natural es cuando adoptas el framework completo. Open source (tri-licencia MPL/GPL/LGPL), Delphi 7 en adelante, más FreePascal.

Synapse

Librería clásica open-source de red Pascal. Al momento de escribir, el Synapse de fábrica no incluye implementación WebSocket. Existen algunas capas WebSocket de terceros construidas encima de Synapse pero no se mantienen o son proyectos de un único autor. Gratis.

Matriz de funciones

Función sgcWebSockets Indy (de fábrica) TMS FNC WX mORMot 2 Synapse
Cliente WebSocketNoNo
Servidor WebSocketNoVía TMS XData/SparkleNo
RFC 6455 (frames, masking, control frames)n/dn/d
Per-message deflate (RFC 7692)n/dParcialn/d
Sub-protocolos / canales / broadcastSí, integradon/dManualManualn/d
Auto-reconexión / WatchDogn/dManualManualn/d
WebSocket sobre TLS (wss://)Sí (OpenSSL, SChannel, BoringSSL)n/dn/d
Sub-protocolos WebSocket-MQTT / STOMP / WAMPn/dNoLimitadon/d
HTTP/2, HTTP/3NoNoLimitadoNo
Escalado servidor IOCP / epollSí (Windows IOCP, Linux epoll)Thread-por-conexiónDepende del servidor hostn/d
Espejo cliente JavaScriptSí (incluye lib JS)n/dSí (integración TMS WEB Core)Manualn/d
Port a .NETSí (misma API)n/dNoNon/d
Versiones DelphiD7 - D13D7 - D13D10.x - D13D7 - D13, FPCD7 - D13, FPC
LicenciaComercial (existe Edición Free)Gratis, estilo MITComercialTri-licencia open sourceGratis
Soporte fabricanteIncluido con ediciones de pagoComunidad (IndyProject)Incluido con suscripciónSoporte comercial vía SynopseComunidad / autor único
Mantenimiento activoReleases mensualesLento pero estableRegularMuy activoLento

Eligiendo por escenario

Escenario 1: app de escritorio VCL que conecta a una API WebSocket de terceros

Necesitas un cliente que conecte a wss://, envíe JSON, reciba JSON, reconecte al desconectarse, maneje TLS. La ruta más corta es sgcWebSockets (arrastra el componente, establece URL, establece WatchDog.Attempts, listo) o TMS FNC WX si ya tienes licencia del pack FNC. Indy y Synapse requerirán escribir el framer tú mismo, lo cual es mucho trabajo para acertar con los edge cases de RFC 6455.

Escenario 2: construyendo un servidor WebSocket para cientos de clientes

sgcWebSockets es la elección natural si quieres un componente servidor autónomo que sirva HTTP y WebSocket en el mismo puerto con canales y broadcast. mORMot 2 es la elección natural si ya estás construyendo un servicio SOA/REST dentro del framework mORMot — su capa WebSocket se integra con el resto de la pila y está probada en batalla a escala.

Escenario 3: decenas de miles de conexiones concurrentes

Tanto sgcWebSockets (IOCP en Windows, epoll en Linux) como mORMot 2 se han desplegado en producción a esa escala. El modelo thread-por-conexión del Indy de fábrica difícilmente seguirá el ritmo sin trabajo arquitectónico significativo. El escalado de TMS FNC WX depende del servidor host elegido (XData/Sparkle).

Escenario 4: WebSocket dentro de un framework full-stack Pascal (REST, ORM, SOA)

mORMot 2. Es para lo que está mORMot. Adoptar sólo la capa WebSocket aisladamente es posible pero obtienes el máximo valor cuando abrazas el framework completo.

Escenario 5: cliente cross-framework (VCL, FMX, LCL, TMS WEB Core)

TMS FNC WX está diseñado para ese caso exacto — una API a través de los cuatro. sgcWebSockets cubre VCL, FMX y C++Builder más un port a .NET, pero no apunta a Lazarus/FPC.

Escenario 6: necesitas WebSocket más MQTT, AMQP, WebRTC, HTTP/2, APIs IA

sgcWebSockets es la única librería en esta comparación que distribuye todo lo anterior bajo un único producto y un único modelo de componente. Si tu proyecto está en trayectoria de “sólo un cliente WebSocket” a “una pila completa de tiempo real”, consolidar pronto suele ser más barato que pegar varias librerías más tarde.

Escenario 7: presupuesto ajustado, sólo open-source, proyecto de aficionado

mORMot 2 (open source) te da una implementación WebSocket seria gratis. La Edición Free de sgcWebSockets es una opción para uso no comercial. Indy con un add-on WebSocket comunitario es técnicamente posible pero espera leer tú mismo las RFCs relevantes.

Matriz de decisión

Lo que más importaElección recomendada
Tiempo más rápido hasta cliente funcionando + soporte fabricantesgcWebSockets
Framework full-stack open-sourcemORMot 2
Cross-framework (VCL/FMX/LCL/WEB Core)TMS FNC WX
Máximo de conexiones concurrentes, comercialsgcWebSockets
Máximo de conexiones concurrentes, open sourcemORMot 2
Un producto que cubra WebSocket + MQTT + HTTP/2 + WebRTC + IAsgcWebSockets
Gratis / proyecto sin compromiso de aficionadomORMot 2 o Edición Free de sgcWebSockets
Ya dentro de un proyecto TMS XData / SparkleTMS FNC WX
Ya dentro de un proyecto mORMotmORMot 2

Checklist antes de comprometerte

Reflexiones finales

El panorama Delphi WebSocket en 2026 está más sano de lo que parece a primera vista. Para un cliente rápido, sgcWebSockets te pone en marcha en minutos. Para un proyecto full-stack open-source, mORMot 2 es difícil de superar. Para clientes GUI cross-framework, TMS FNC WX es un encaje natural. El Indy y Synapse de fábrica siguen siendo valiosos por sus protocolos clásicos de Internet pero ninguno se adueña de WebSocket. La elección correcta depende de dónde se sitúa tu proyecto en el espectro de “un único endpoint” a “plataforma completa de tiempo real” — elige la librería que encaje con el requisito de hoy y donde esperas que esté el proyecto en dos años.