Warum es diesen Leitfaden gibt
WebSocket ist längst kein Nischen-Transport mehr. Trading-Dashboards, Chat-Backends, Multiplayer-Spiele, IoT-Steuerungsebenen, AI-Streaming-Antworten, browserbasierte Admin-Konsolen — fast jede moderne interaktive Anwendung öffnet mindestens einen WebSocket. Delphi-Entwickler, die 2026 fragen „Welche Bibliothek soll ich nehmen?“, haben ein kleineres Feld als sie vielleicht denken: Nicht jedes klassische Delphi-Netzwerkpaket hat RFC 6455 nachgezogen, und einige, die es haben, zielen auf sehr spezifische Nischen.
Dieser Leitfaden überfliegt die realistischen Optionen Stand 2026 — sgcWebSockets, Indy, TMS FNC WX, mORMot, Synapse — und liefert am Ende eine Entscheidungs-Matrix. Wo Aussagen vom aktuellen Release eines Herstellers abhängen, beschreibt dieser Artikel den Stand zum Schreibzeitpunkt; prüfe Details immer am aktuellen Changelog des Herstellers, bevor du dich festlegst.
Die Mitbewerber
sgcWebSockets (eSeGeCe)
Kommerzielle Bibliothek mit Fokus auf WebSocket und die breitere moderne Protokollfamilie (HTTP/2, HTTP/3, MQTT, AMQP, STOMP, SSE, WAMP, WebRTC, IoT, KI-APIs). Vollständiges RFC 6455, Per-Message-Deflate, Subprotokolle, Channels, Broadcast-Helfer, WatchDog-Auto-Reconnect, IOCP-Server-Skalierung, JavaScript-Client-Spiegel, .NET-Port. Free Edition für nicht-kommerzielle Nutzung; vier bezahlte Editionen. Delphi 7 bis 13 plus C++Builder und .NET.
Indy (Stock)
Stock-Indy, das mit Delphi geliefert wird, enthält keinen nativen WebSocket-Client oder -Server. Es gibt mehrere Community-Add-ons (such auf GitHub nach „Indy WebSocket“), aber keines ist Stand jetzt Teil der offiziellen IndyProject-Distribution. Wenn du WebSocket direkt auf Indy aufbaust, schreibst du im Grunde den Framer selbst. Kostenlos, IDE-beiliegend.
TMS FNC WX (früher TMS WEB Core / FNC WebSocket)
TMS Software liefert als Teil der FNC-Familie eine frameworkübergreifende WebSocket-Komponente (TTMSFNCWebSocketClient und Server-Seite über TMS XData / TMS Sparkle). Sie läuft auf VCL, FMX, LCL und TMS WEB Core. Die Client-Seite ist solide; die Server-Seite wird primär über den TMS-XData-/Sparkle-Stack als Funktion dieser Produkte geliefert. Kommerziell, mit Abopreis pro Entwickler. Delphi 10.x und neuer.
mORMot 2
Open-Source-Full-Stack-Framework von Synopse (Arnaud Bouchez). Enthält einen WebSocket-Client und -Server, eng in seine SOA-/ORM-/REST-Infrastruktur integriert. mORMots WebSocket ist ausgereift, schnell, unterstützt binäres Framing und Per-Message-Deflate und ist in Produktion bei Hochlast-Diensten weit verbreitet. Der Haken: mORMot ist opinionated — nur die WebSocket-Schicht zu nutzen ist möglich, aber der natürliche Fit ist, wenn du das gesamte Framework adoptierst. Open Source (MPL-/GPL-/LGPL-Tri-Lizenz), Delphi 7 und höher plus FreePascal.
Synapse
Klassische Open-Source-Pascal-Netzwerkbibliothek. Zum Schreibzeitpunkt enthält Stock-Synapse keine WebSocket-Implementierung. Einige Drittanbieter-WebSocket-Schichten auf Synapse existieren, sind aber ungepflegt oder Single-Author-Projekte. Kostenlos.
Feature-Matrix
| Feature | sgcWebSockets | Indy (Stock) | TMS FNC WX | mORMot 2 | Synapse |
|---|---|---|---|---|---|
| WebSocket-Client | Ja | Nein | Ja | Ja | Nein |
| WebSocket-Server | Ja | Nein | Über TMS XData/Sparkle | Ja | Nein |
| RFC 6455 (Frames, Masking, Control Frames) | Ja | n/a | Ja | Ja | n/a |
| Per-Message-Deflate (RFC 7692) | Ja | n/a | Teilweise | Ja | n/a |
| Subprotokolle / Channels / Broadcast | Ja, eingebaut | n/a | Manuell | Manuell | n/a |
| Auto-Reconnect / WatchDog | Ja | n/a | Manuell | Manuell | n/a |
| WebSocket über TLS (wss://) | Ja (OpenSSL, SChannel, BoringSSL) | n/a | Ja | Ja | n/a |
| WebSocket-MQTT / STOMP / WAMP-Subprotokolle | Ja | n/a | Nein | Eingeschränkt | n/a |
| HTTP/2, HTTP/3 | Ja | Nein | Nein | Eingeschränkt | Nein |
| IOCP-/epoll-Server-Skalierung | Ja (Windows IOCP, Linux epoll) | Thread-pro-Verbindung | Abhängig vom Host-Server | Ja | n/a |
| JavaScript-Client-Spiegel | Ja (liefert JS-Lib) | n/a | Ja (TMS-WEB-Core-Integration) | Manuell | n/a |
| .NET-Port | Ja (dieselbe API) | n/a | Nein | Nein | n/a |
| Delphi-Versionen | D7 - D13 | D7 - D13 | D10.x - D13 | D7 - D13, FPC | D7 - D13, FPC |
| Lizenz | Kommerziell (Free Edition vorhanden) | Kostenlos, MIT-artig | Kommerziell | Open-Source-Tri-Lizenz | Kostenlos |
| Hersteller-Support | In bezahlten Editionen enthalten | Community (IndyProject) | Im Abo enthalten | Kommerzieller Support über Synopse | Community / Single Author |
| Aktive Pflege | Monatliche Releases | Langsam, aber stabil | Regelmäßig | Sehr aktiv | Langsam |
Auswahl nach Szenario
Szenario 1: VCL-Desktop-App verbindet sich mit einer Drittanbieter-WebSocket-API
Du brauchst einen Client, der sich mit wss:// verbindet, JSON sendet, JSON empfängt, bei Verbindungsabbruch reconnectet und TLS handhabt. Der kürzeste Weg ist sgcWebSockets (Komponente ablegen, URL setzen, WatchDog.Attempts setzen, fertig) oder TMS FNC WX, falls du das FNC-Paket schon lizenzierst. Indy und Synapse verlangen, dass du den Framer selbst schreibst — sehr viel Arbeit, um die RFC-6455-Edge-Cases korrekt zu treffen.
Szenario 2: WebSocket-Server für Hunderte von Clients bauen
sgcWebSockets ist die natürliche Wahl, wenn du eine eigenständige Server-Komponente willst, die HTTP und WebSocket auf demselben Port mit Channels und Broadcast bedient. mORMot 2 ist die natürliche Wahl, wenn du bereits einen SOA-/REST-Dienst innerhalb des mORMot-Frameworks baust — seine WebSocket-Schicht integriert sich mit dem Rest des Stacks und ist im großen Maßstab kampferprobt.
Szenario 3: Zehntausende gleichzeitige Verbindungen
Sowohl sgcWebSockets (IOCP unter Windows, epoll unter Linux) als auch mORMot 2 sind in dieser Größenordnung produktiv im Einsatz. Stock-Indys Thread-pro-Verbindung-Modell wird ohne erhebliche architektonische Arbeit kaum mithalten. Die Skalierung von TMS FNC WX hängt vom gewählten Host-Server (XData/Sparkle) ab.
Szenario 4: WebSocket innerhalb eines Pascal-Full-Stack-Frameworks (REST, ORM, SOA)
mORMot 2. Genau dafür ist mORMot da. Nur die WebSocket-Schicht isoliert zu adoptieren ist möglich, aber den größten Wert bekommst du, wenn du das gesamte Framework annimmst.
Szenario 5: Frameworkübergreifender Client (VCL, FMX, LCL, TMS WEB Core)
TMS FNC WX ist genau dafür gemacht — eine API über alle vier. sgcWebSockets deckt VCL, FMX und C++Builder plus einen .NET-Port ab, zielt aber nicht auf Lazarus/FPC.
Szenario 6: WebSocket plus MQTT, AMQP, WebRTC, HTTP/2, KI-APIs nötig
sgcWebSockets ist die einzige Bibliothek in diesem Vergleich, die alle obigen Punkte unter einem Produkt und einem Komponentenmodell liefert. Wenn dein Projekt auf einer Bahn von „nur ein WebSocket-Client“ zu „einem vollständigen Echtzeit-Stack“ läuft, ist frühe Konsolidierung in der Regel günstiger als später mehrere Bibliotheken zusammenzukleben.
Szenario 7: Knappes Budget, nur Open Source, Hobbyprojekt
mORMot 2 (Open Source) liefert dir eine ernstzunehmende WebSocket-Implementierung kostenlos. Die Free Edition von sgcWebSockets ist eine Option für nicht-kommerzielle Nutzung. Indy mit einem Community-WebSocket-Add-on ist technisch möglich — rechne damit, die relevanten RFCs selbst zu lesen.
Entscheidungs-Matrix
| Was am wichtigsten ist | Empfehlung |
|---|---|
| Schnellster Weg zum funktionierenden Client + Hersteller-Support | sgcWebSockets |
| Open-Source-Full-Stack-Framework | mORMot 2 |
| Frameworkübergreifend (VCL/FMX/LCL/WEB Core) | TMS FNC WX |
| Maximale gleichzeitige Verbindungen, kommerziell | sgcWebSockets |
| Maximale gleichzeitige Verbindungen, Open Source | mORMot 2 |
| Ein Produkt für WebSocket + MQTT + HTTP/2 + WebRTC + KI | sgcWebSockets |
| Kostenloses / committee-freies Hobbyprojekt | mORMot 2 oder Free Edition von sgcWebSockets |
| Bereits in einem TMS-XData- / Sparkle-Projekt | TMS FNC WX |
| Bereits in einem mORMot-Projekt | mORMot 2 |
Checkliste, bevor du dich festlegst
- Delphi-Version — prüfe, dass der Hersteller deine exakte Version (D7/D10.4/D11/D12/D13) auf seiner Kompatibilitäts-Matrix führt.
- RFC-6455-Konformität — achte darauf, dass die Bibliothek die Autobahn-WebSocket-Test-Suite besteht oder zumindest Fragmentierung, Control Frames während Fragmentierung und UTF-8-Validierung korrekt handhabt.
- TLS-Provider — OpenSSL ist am gängigsten; SChannel ist wichtig, wenn du keine OpenSSL-DLLs ausliefern kannst; BoringSSL/ngtcp2 sind wichtig für QUIC.
- Reconnect-Semantik — Auto-Reconnect, Exponential Backoff, Ping/Pong-Keep-Alive sollten Konfiguration sein, nicht dein Code.
- Server-Skalierungs-Modell — IOCP/epoll für Zehntausende Verbindungen; Thread-pro-Verbindung reicht bis in den niedrigen vierstelligen Bereich.
- Lizenz-Kompatibilität — Tri-Lizenz (mORMot), kommerzielles Abo (TMS), kommerziell pro Edition (sgcWebSockets), kostenlos (Indy/Synapse).
- Pflegesignal — schau dir das Changelog der letzten 12 Monate an. Aktive Bibliotheken liefern mindestens quartalsweise etwas aus.
Abschluss
Die Delphi-WebSocket-Landschaft 2026 ist gesünder, als sie auf den ersten Blick aussieht. Für einen schnellen Client bringt dich sgcWebSockets in Minuten ans Ziel. Für ein Open-Source-Full-Stack-Projekt ist mORMot 2 schwer zu schlagen. Für frameworkübergreifende GUI-Clients ist TMS FNC WX naheliegend. Stock-Indy und Synapse bleiben für ihre klassischen Internet-Protokolle wertvoll, aber keines besitzt WebSocket. Die richtige Wahl hängt davon ab, wo dein Projekt auf der Spanne von „einzelner Endpunkt“ bis „komplette Echtzeit-Plattform“ sitzt — wähle die Bibliothek, die sowohl der heutigen Anforderung als auch dem in zwei Jahren erwarteten Stand entspricht.