Delphi & C++ Builder WebSocket-Bibliotheken — Vergleichsleitfaden

Eine neutrale, mit Quellen belegte Übersicht der WebSocket-Bibliotheken, die Delphi- und C++ Builder-Entwicklern 2026 zur Verfügung stehen: sgcWebSockets, Indy, ICS, TMS FNC WebSocket, mORMot 2 und eigenständige MQTT-Bibliotheken. Jede Aussage zu Features verlinkt auf die eigene Dokumentation des Projekts.

Sechs Bibliotheken, die Entwickler wirklich nutzen

Eine Zusammenfassung jeder Bibliothek in einem Absatz, mit Link zur offiziellen Dokumentation. Der detaillierte Vergleich folgt in der Matrix darunter.

Indy (Internet Direct)

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

Open-Source-TCP-/UDP-/Raw-Socket-Bibliothek, die jeder aktuellen RAD Studio-Installation beiliegt. Bringt 120+ höhere Protokoll-Clients und -Server mit (HTTP, SMTP, POP3, IMAP, FTP, NNTP, IRC und mehr), enthält aber keinen nativen WebSocket-Client oder -Server — Anwender ergänzen typischerweise ein Drittanbieter-WebSocket-Add-on auf Basis von TIdHTTP / TIdHTTPServer.

Official page

ICS (Internet Component Suite)

François Piette / Magenta Systems Ltd · Free, source-available

Open-Source-Networking-Bibliothek für Delphi/C++ Builder von François Piette. WebSocket-Unterstützung wurde in ICS V9.0 als TSslWebSocketCli (in OverbyteIcsWebSocketCli) sowie eine Server-Klasse THttpWSSrvConn auf dem bestehenden ICS-Webserver hinzugefügt.

Official page

TMS FNC WebSocket / TMS Sparkle

TMS Software · Commercial

TMS Software bietet zwei relevante Produkte. TMS Sparkle ist ein plattformübergreifendes HTTP-Client-/Server-Framework (intern auch von TMS XData und TMS RemoteDB genutzt). TMS FNC WebSocket ist ein eigenständiges VCL + FireMonkey WebSocket-Client-/Server-Paar, das RFC 6455 implementiert.

Official page

mORMot 2

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

Open-Source-SOA-/ORM-/MVC-Framework für Object Pascal mit asynchronem HTTP- und WebSocket-Server, REST/JSON, OpenAPI/Swagger, LDAP, DNS, ACME und Kryptografie-Primitiven. Delphi-Server-Units zielen ausschließlich auf Windows ab; FPC (Free Pascal) baut denselben Server-Code für Linux, BSD und macOS. Mobile Clients werden auf allen Plattformen unterstützt.

Official page

Stand-alone MQTT-only libraries

Various community authors · Varies (typically MIT / BSD / Apache)

Auf GitHub gibt es etliche zweckgebundene MQTT-Clients für Delphi. Typischerweise decken sie nur die MQTT 3.1.1-Client-Seite ab, enthalten keinen MQTT 5.0-Server, kein AMQP, STOMP oder WAMP und werden von einzelnen Autoren gepflegt.

Official page

Funktionsvergleich nebeneinander

A check () means the project documents native support. A dash () means the project does not provide it natively. A tilde (~) means partial / via add-on / not explicitly documented — see the Sources section for what we could verify.

Protokolle, Transport, Lizenzierung

16 rows
Funktion sgcWebSockets Indy (Internet Direct) ICS (Internet Component Suite) TMS FNC WebSocket / TMS Sparkle mORMot 2 Stand-alone MQTT-only libraries
WebSocket-Client RFC 6455-Client ~
WebSocket-Server RFC 6455-Server ~
TLS 1.3 TLS 1.3 wird vom mitgelieferten Transport unterstützt ~ ~
HTTP/2-Client Nativer HTTP/2-Client (RFC 7540/9113) ~
MQTT MQTT 3.1.1-/5.0-Client integriert ~ ~
AMQP AMQP 0.9.1-/1.0-Client integriert
STOMP STOMP 1.0-/1.2-Client integriert
WAMP WAMP v1-/v2-Client integriert
Server-Push/Streaming Dauerhafte Push- oder Streaming-Verbindung ~ ~ ~
Auto-Reconnect Integrierter Client-Auto-Reconnect/Watchdog ~ ~ ~ ~
per-message-deflate (RFC 7692) WebSocket-Kompressionserweiterung ~ ~ ~
Plattformübergreifend Win / macOS / Linux / iOS / Android ~ ~
Kommerzielle Nutzung erlaubt Lizenz erlaubt kommerzielle Closed-Source-Nutzung
Quellcode verfügbar Bibliotheks-Quellcode ist für Entwickler einsehbar
Aktive Pflege Release oder getaggte Aktivität in den letzten 12–18 Monaten ~ ~
Lizenzmodell Lizenztyp Commercial BSD / MPL (open source) Free, source-available Commercial MPL / GPL / LGPL (open source) Varies (typically MIT / BSD / Apache)
Dokumentierte native Unterstützung Nicht nativ vorhanden ~ Teilweise / über Add-on / nicht verifiziert

Ehrliche Eignung jeder Bibliothek

Jede Bibliothek hier hat eine echte Zielgruppe. Die richtige Wahl hängt von deiner Protokollbreite, deiner Lizenzpräferenz und deinen bestehenden Abhängigkeiten ab.

Wähle sgcWebSockets

Wähle sgcWebSockets, wenn du WebSocket plus Messaging-Protokolle (MQTT, AMQP, STOMP, WAMP), HTTP/2 und AI/LLM-Clients aus einem Komponentenset mit einer einzigen kommerziellen Lizenz, breiter Delphi-Versionsabdeckung (7–13) inklusive C++ Builder und FireMonkey-Zielen für macOS, iOS, Android und Linux brauchst.

Wähle Indy (Internet Direct)

Wähle Indy, wenn WebSocket selbst nicht die Anforderung ist — etwa wenn du ein permissiv lizenziertes TCP-/UDP-Toolkit mit ausgereifter HTTP-, SMTP-, POP3-, IMAP-, FTP- und NNTP-Unterstützung brauchst, oder wenn du den bestehenden TIdHTTPServer mit deinem eigenen WebSocket-Upgrade-Handler erweitern willst. Indy wird mit RAD Studio ausgeliefert und vergrößert deinen Abhängigkeitsfußabdruck nicht.

Wähle ICS (Internet Component Suite)

Wähle ICS, wenn du eine Open-Source-Delphi-Networking-Suite mit WebSocket-Client und -Server, modernem TLS 1.3 (einschließlich Post-Quantum-Kryptografie in V9.6) auf OpenSSL 3.x-Basis willst und damit zurechtkommst, Routen über den bestehenden ICS-Webserver zu führen. ICS ist ein Long-Term-Release, das aktiv gepflegten OpenSSL-Versionen folgt.

Wähle TMS FNC WebSocket / TMS Sparkle

Wähle TMS FNC WebSocket, wenn WebSocket das einzige Netzwerkprotokoll ist, das du auf VCL und FireMonkey brauchst, wenn du bereits andere TMS FNC-Komponenten lizenziert hast (der API-Stil bleibt einheitlich) oder wenn dir gezielt die FNC-Cross-Framework-Story wichtig ist (eine Codebasis über VCL und FMX). Für HTTP- und HTTPS-Service-Hosting kombinierst du TMS Sparkle mit TMS XData.

Wähle mORMot 2

Wähle mORMot 2, wenn du ein Open-Source-Full-Stack-Framework (ORM, SOA, REST, WebSocket, OpenAPI) für Object Pascal unter MPL/GPL/LGPL willst, wenn dein Server unter Linux mit FPC läuft oder wenn du ein einziges Framework willst, das Datenbank, Geschäftslogik und WebSocket-Transport abdeckt.

Wähle eigenständige MQTT-Bibliotheken

Wähle eine eigenständige MQTT-Bibliothek, wenn MQTT das einzige Protokoll ist, das du brauchst, wenn das Projekt nur permissiv lizenzierten Code nutzen darf und wenn du jede Zeile der Wire-Protocol-Implementierung lesen willst. Prüfe vor der Festlegung die Commit-Historie des gewählten Projekts — die Aktivität variiert stark zwischen Autoren.

Wechsel zu sgcWebSockets — was anders ist

Kurze Hinweise zu API- und Feature-Unterschieden, wenn du von einer der obigen Bibliotheken wechselst. Nicht konfrontativ — nur die praktische Zuordnung.

Wechsel von Indy (Internet Direct)

Indy liefert dir die rohe HTTP-/TCP-Verrohrung; sgcWebSockets bringt WebSocket-Framing, Ping/Pong, Auto-Reconnect, Subprotokolle (MQTT/AMQP/STOMP/WAMP) und per-message-deflate integriert mit. Wenn du heute einen Indy-basierten HTTP-Server hast, bietet sgcWebSockets einen separaten TsgcWebSocketHTTPServer statt ein Indy-Plug-in — bestehende HTTP-Routen müssen unter dem sgc-Server neu implementiert werden oder beide Server laufen parallel auf unterschiedlichen Ports.

Wechsel von ICS (Internet Component Suite)

Beide Bibliotheken bieten einen WebSocket-Client und einen WebSocket-über-HTTP-Server. Die genannten Messaging-Protokolle (MQTT, AMQP, STOMP, WAMP) sowie die AI/LLM- und Exchange-API-Clients gibt es nur in sgcWebSockets. Wenn du derzeit einen ICS-Webserver mit WebSocket-Routen betreibst, bietet sgcWebSockets TsgcWebSocketHTTPServer als einsetzbaren HTTP+WS-Host, allerdings mit einer anderen API zur Routenregistrierung.

Wechsel von TMS FNC WebSocket / TMS Sparkle

sgcWebSockets und TMS FNC WebSocket implementieren beide RFC 6455-Client und -Server. Migriere, indem du die Komponentenklasse austauschst und Ereignisse neu verdrahtest. Die darüber liegenden Protokollschichten (MQTT, AMQP, STOMP, WAMP), der HTTP/2-Client und -Server sowie die 30+ Drittanbieter-API-Integrationen sind sgcWebSockets-exklusiv. Nutzt du TMS MQTT separat, bündelt sgcWebSockets MQTT in dieselbe Suite.

Wechsel von mORMot 2

mORMot 2 verpackt WebSocket innerhalb seiner SOA-Schicht; sgcWebSockets liefert eine eigenständige WebSocket-/HTTP/2-/MQTT-/AMQP-/STOMP-/WAMP-Komponente, die du in jedes Delphi-Projekt einbauen kannst. Nutzt deine Anwendung die ORM- und SOA-Features von mORMot 2, bedeutet ein Wechsel zu sgcWebSockets, dass du die SOA-Schicht neu implementieren musst; wenn du mORMot 2 nur für den WebSocket-Transport genutzt hast, ist sgcWebSockets ein näherer 1:1-Tausch.

Wechsel von eigenständigen MQTT-Bibliotheken

Wenn du derzeit eine eigenständige MQTT-Bibliothek nutzt und beginnst, WebSocket, HTTP/2, AMQP oder AI/LLM-API-Clients zu ergänzen, bündelt sgcWebSockets all das in einer Suite, mit einer Lizenz und einem Update-Kanal.

Jede Aussage, verlinkt

Jede Zelle in der Matrix oben verweist auf eine dieser offiziellen Dokumentationsseiten, Repositories oder Release Notes. Alle URLs wurden zum Zeitpunkt der Erstellung per HEAD geprüft.

QuelleURL
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

sgcWebSockets ausprobieren

Lade die kostenlose Trial-Edition herunter und benchmarke sgcWebSockets gegen deine aktuelle Bibliothek mit deiner eigenen Anwendung.