Delphi & C++ Builder WebSocket-bibliotheken — vergelijkingsgids

Een neutrale, met bronnen onderbouwde vergelijking van de WebSocket-bibliotheken die in 2026 beschikbaar zijn voor Delphi- en C++ Builder-ontwikkelaars: sgcWebSockets, Indy, ICS, TMS FNC WebSocket, mORMot 2 en losse MQTT-bibliotheken. Elke functieclaim verwijst naar de eigen documentatie van het project.

Zes bibliotheken die ontwikkelaars daadwerkelijk gebruiken

Eén alinea per bibliotheek, met een link naar de officiële documentatie. De gedetailleerde vergelijking staat in de onderstaande matrix.

Indy (Internet Direct)

Indy Working Group / Remy Lebeau · BSD / MPL (open source)

Open-source TCP/UDP/raw-socket-bibliotheek die bij elke recente RAD Studio-installatie wordt meegeleverd. Bevat 120+ hoger-niveau protocol-clients en -servers (HTTP, SMTP, POP3, IMAP, FTP, NNTP, IRC en meer) maar bevat geen native WebSocket-client of -server — gebruikers voegen meestal een externe WebSocket-add-on toe bovenop TIdHTTP / TIdHTTPServer.

Officiële pagina

ICS (Internet Component Suite)

François Piette / Magenta Systems Ltd · Gratis, broncode beschikbaar

Open-source Delphi / C++ Builder-netwerkbibliotheek van François Piette. WebSocket-ondersteuning is toegevoegd in ICS V9.0 als TSslWebSocketCli (in OverbyteIcsWebSocketCli) en als serverklasse THttpWSSrvConn bovenop de bestaande ICS-webserver.

Officiële pagina

TMS FNC WebSocket / TMS Sparkle

TMS Software · Commercieel

TMS Software biedt twee relevante producten aan. TMS Sparkle is een cross-platform HTTP-client/-server-framework (intern ook gebruikt door TMS XData en TMS RemoteDB). TMS FNC WebSocket is een apart paar VCL + FireMonkey WebSocket-client en -server dat RFC 6455 implementeert.

Officiële pagina

mORMot 2

Arnaud Bouchez / Synopse · MPL / GPL / LGPL (open source)

Open-source Object Pascal SOA / ORM / MVC-framework met een asynchrone HTTP- en WebSocket-server, REST/JSON, OpenAPI / Swagger, LDAP, DNS, ACME en cryptografische primitieven. De Delphi-server-units richten zich alleen op Windows; FPC (Free Pascal) bouwt dezelfde server-code voor Linux, BSD en macOS. Mobiele clients worden op elk platform ondersteund.

Officiële pagina

Losse MQTT-only-bibliotheken

Verschillende community-auteurs · Wisselt (meestal MIT / BSD / Apache)

Er zijn diverse single-purpose MQTT-clients voor Delphi op GitHub gepubliceerd. Ze dekken meestal alleen de MQTT 3.1.1-clientzijde, bevatten geen MQTT 5.0-server, AMQP, STOMP of WAMP, en worden door individuele auteurs onderhouden.

Officiële pagina

Functievergelijking naast elkaar

Een vinkje () betekent dat het project native ondersteuning documenteert. Een streepje () betekent dat het project dit niet native biedt. Een tilde (~) betekent gedeeltelijk / via add-on / niet expliciet gedocumenteerd — zie de Bronnen-sectie voor wat we konden verifiëren.

Protocollen, transport, licentie

16 rijen
Functie sgcWebSockets Indy (Internet Direct) ICS (Internet Component Suite) TMS FNC WebSocket / TMS Sparkle mORMot 2 Losse MQTT-only-bibliotheken
WebSocket-client RFC 6455-client ~
WebSocket-server RFC 6455-server ~
TLS 1.3 TLS 1.3 ondersteund door het meegeleverde transport ~ ~
HTTP/2-client Native HTTP/2-client (RFC 7540 / 9113) ~
MQTT MQTT 3.1.1 / 5.0-client ingebouwd ~ ~
AMQP AMQP 0.9.1 / 1.0-client ingebouwd
STOMP STOMP 1.0 / 1.2-client ingebouwd
WAMP WAMP v1 / v2-client ingebouwd
Server push / streaming Langlopende push- of streaming-verbinding ~ ~ ~
Auto-reconnect Ingebouwde client auto-reconnect / watchdog ~ ~ ~ ~
per-message-deflate (RFC 7692) WebSocket-compressie-extensie ~ ~ ~
Multi-platform Win / macOS / Linux / iOS / Android ~ ~
Commercieel gebruik toegestaan Licentie staat commercieel gebruik met gesloten broncode toe
Broncode beschikbaar De broncode van de bibliotheek is zichtbaar voor de ontwikkelaar
Actief onderhoud Release of getagde activiteit in de laatste 12–18 maanden ~ ~
Licentiemodel Licentietype Commercieel BSD / MPL (open source) Gratis, broncode beschikbaar Commercieel MPL / GPL / LGPL (open source) Wisselt (meestal MIT / BSD / Apache)
Gedocumenteerde native ondersteuning Niet native geleverd ~ Gedeeltelijk / via add-on / niet geverifieerd

Eerlijke match per bibliotheek

Elke bibliotheek hier heeft een eigen publiek. De juiste keuze hangt af van je protocolbreedte, je licentievoorkeur en je bestaande dependencies.

Kies sgcWebSockets

Kies sgcWebSockets als je WebSocket plus messaging-protocollen (MQTT, AMQP, STOMP, WAMP), HTTP/2 en AI/LLM-clients uit één componentenset met één commerciële licentie nodig hebt, brede Delphi-versie-dekking (7–13) inclusief C++ Builder, en FireMonkey-doelen voor macOS, iOS, Android en Linux.

Kies Indy (Internet Direct)

Kies Indy als WebSocket zelf niet de eis is — bijvoorbeeld als je een permissief gelicenseerde TCP/UDP-toolkit nodig hebt met volwassen HTTP-, SMTP-, POP3-, IMAP-, FTP- en NNTP-ondersteuning, of als je de bestaande TIdHTTPServer wilt uitbreiden met je eigen WebSocket-upgrade-handler. Indy wordt met RAD Studio meegeleverd, dus het voegt niets toe aan je dependency-footprint.

Kies ICS (Internet Component Suite)

Kies ICS als je een open-source Delphi-netwerksuite wilt met WebSocket-client en -server, moderne TLS 1.3 (inclusief post-quantum cryptografie in V9.6) bovenop OpenSSL 3.x, en het je niet uitmaakt om routes via de bestaande ICS-webserver te bedraden. ICS is een langlopende release die actief onderhouden OpenSSL-versies volgt.

Kies TMS FNC WebSocket / TMS Sparkle

Kies TMS FNC WebSocket als WebSocket het enige netwerkprotocol is dat je op VCL en FireMonkey nodig hebt, als je al andere TMS FNC-componenten licenseert (de visuele en non-visuele API-stijl blijft consistent), of als je specifiek het FNC-cross-framework-verhaal wilt (één codebase voor VCL en FMX). Voor HTTP- en HTTP/S-service-hosting is TMS Sparkle gekoppeld aan TMS XData.

Kies mORMot 2

Kies mORMot 2 als je een open-source full-stack-framework (ORM, SOA, REST, WebSocket, OpenAPI) voor Object Pascal onder MPL/GPL/LGPL wilt, als je server op Linux onder FPC draait, of als je één framework wilt dat de database, businesslogica en het WebSocket-transport overspant.

Kies losse MQTT-only-bibliotheken

Kies een losse MQTT-only-bibliotheek als MQTT het enige protocol is dat je nodig hebt, als het project alleen op permissief gelicenseerde code mag leunen, en als je elke regel van de wire-protocol-implementatie wilt kunnen lezen. Bekijk de commit-geschiedenis van het gekozen project voordat je je eraan committeert — de activiteit verschilt sterk per auteur.

Overstappen naar sgcWebSockets — wat verschilt

Korte notities over de API- en functieverschillen als je overstapt vanaf een van de bovenstaande bibliotheken. Niet polemisch — gewoon de praktische mapping.

Overstappen vanaf Indy (Internet Direct)

Indy levert je de ruwe HTTP- en TCP-plumbing; sgcWebSockets geeft je de WebSocket-framing, ping/pong, auto-reconnect, subprotocollen (MQTT/AMQP/STOMP/WAMP) en per-message-deflate kant-en-klaar. Als je vandaag een op Indy gebaseerde HTTP-server hebt, biedt sgcWebSockets een aparte TsgcWebSocketHTTPServer in plaats van een plug-in in Indy — bestaande HTTP-routes moeten opnieuw onder de sgc-server geïmplementeerd worden, of je laat beide op verschillende poorten naast elkaar draaien.

Overstappen vanaf ICS (Internet Component Suite)

Beide bibliotheken bieden een WebSocket-client en een WebSocket-over-HTTP-server. De genoemde messaging-protocollen (MQTT, AMQP, STOMP, WAMP) en de AI/LLM- en exchange-API-clients zijn alleen in sgcWebSockets te vinden. Als je momenteel een ICS-webserver met WebSocket-routes draait, biedt sgcWebSockets TsgcWebSocketHTTPServer als drop-in HTTP+WS-host, maar de API voor routeregistratie verschilt.

Overstappen vanaf TMS FNC WebSocket / TMS Sparkle

Zowel sgcWebSockets als TMS FNC WebSocket implementeren een RFC 6455-client en -server. Migreer door de componentklasse om te wisselen en de events opnieuw te bedraden. De protocol-lagen die erbovenop zitten (MQTT, AMQP, STOMP, WAMP), de HTTP/2-client en -server en de 30+ integraties met externe API's zijn alleen in sgcWebSockets. Als je TMS MQTT apart gebruikt: sgcWebSockets bundelt MQTT in dezelfde suite.

Overstappen vanaf mORMot 2

mORMot 2 verpakt WebSocket in zijn SOA-laag; sgcWebSockets levert een zelfstandige WebSocket / HTTP/2 / MQTT / AMQP / STOMP / WAMP-component die je in elk Delphi-project kunt droppen. Als je applicatie de ORM- en SOA-functies van mORMot 2 gebruikt, betekent overstappen naar sgcWebSockets dat je de SOA-laag opnieuw moet implementeren; als je mORMot 2 alleen voor WebSocket-transport gebruikte, is sgcWebSockets een vrijwel één-op-één-vervanger.

Overstappen vanaf losse MQTT-only-bibliotheken

Als je nu een losse MQTT-only-bibliotheek gebruikt en je gaat WebSocket, HTTP/2, AMQP of AI/LLM API-clients toevoegen, brengt sgcWebSockets dat alles in één suite samen, met één licentie en één update-kanaal.

Elke cel in de bovenstaande matrix is herleidbaar naar een van deze officiële documentatiepagina's, repositories of release notes. Alle URL's zijn op het moment van schrijven via HEAD gecontroleerd.

BronURL
sgcWebSockets — product pagehttps://www.esegece.com/products/websockets/
sgcWebSockets — Delphi feature matrixhttps://www.esegece.com/products/websockets/features/feature-matrix-delphi/
Indy — project homepage (indyproject.org)https://www.indyproject.org/
Indy — GitHub repository (IndySockets/Indy)https://github.com/IndySockets/Indy
Indy — releases (latest tagged 10.6.3.14)https://github.com/IndySockets/Indy/releases
ICS — V9.0 release notes (WebSocket support introduced)https://wiki.overbyte.eu/wiki/index.php/ICS_V9.0
ICS — V9.6 release notes (TLS 1.3 / PQC)https://wiki.overbyte.eu/wiki/index.php/ICS_V9.6
ICS — download page (latest stable)https://wiki.overbyte.eu/wiki/index.php/ICS_Download
TMS Sparkle — product pagehttps://www.tmssoftware.com/site/sparkle.asp
TMS FNC WebSocket — product pagehttps://www.tmssoftware.com/site/tmsfncwebsocket.asp
mORMot 2 — GitHub repository (synopse/mORMot2)https://github.com/synopse/mORMot2
mORMot 2 — README (protocol list, supported targets)https://github.com/synopse/mORMot2/blob/master/README.md
mORMot 2 — releases (v2.4 stable)https://github.com/synopse/mORMot2/releases
Synopse forum (Object Pascal SOA / ORM)https://synopse.info/
GitHub topic: delphi-mqtt (community single-purpose MQTT clients)https://github.com/topics/delphi-mqtt
RFC 6455 — The WebSocket Protocolhttps://datatracker.ietf.org/doc/html/rfc6455
RFC 7692 — Compression Extensions for WebSocket (per-message-deflate)https://datatracker.ietf.org/doc/html/rfc7692

Probeer sgcWebSockets

Download de gratis Trial-editie en benchmark sgcWebSockets tegen je huidige bibliotheek op je eigen toepassing.