.NET-WebSocket-Bibliothek — Client und Server für C#
sgcWebSockets .NET ist eine vollständige WebSocket-Client- und Server-Bibliothek für C#: RFC 6455-Framing, TLS, Per-Message-Deflate-Kompression, Auto-Reconnect, dazu MQTT-, AMQP-, STOMP- und WAMP-Subprotokolle und HTTP/2 im selben Paket. Installiere sie von NuGet als esegece.sgcWebSockets oder starte mit der kostenlosen Community Edition.
Dieselbe Komponenten-Suite wie das Delphi-Produkt, nach C# portiert, mit denselben Klassennamen und derselben Event-getriebenen API.
Eine .NET-WebSocket-Bibliothek sollte mehr abdecken als das Wire-Protokoll. System.Net.WebSockets liefert dir RFC 6455-Framing; sgcWebSockets .NET legt obendrauf, was Produktionsanwendungen brauchen: einen Server, der auf TCP oder HTTP.SYS läuft (geteilte Ports mit IIS), einen Client mit WatchDog-Auto-Reconnect und Heartbeats, Message-Queueing, Proxy- und Authentifizierungs-Unterstützung sowie die Messaging-Subprotokolle (MQTT, AMQP, STOMP, WAMP), die sonst drei weitere Abhängigkeiten bedeuten würden.
Die Target-Framework-Abdeckung ist ungewöhnlich breit: .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 und .NET Standard 1.6/2.0, auf Windows, Linux und macOS. Legacy-WinForms-Anwendungen und aktuelle ASP.NET-Core-Dienste nutzen dasselbe Paket und denselben Code.
Client
TsgcWebSocketClient: RFC-6455-Client mit TLS, Proxy, HeartBeat und WatchDog
Server
TsgcWebSocketHTTPServer: WebSocket- + HTTP-Server über HTTP.SYS, geteilte Ports, SSL/TLS
Kostenloser Download für Windows, Linux 64-bit und macOS 64-bit (mit Nag-Screen)
Funktionen
Mehr als WebSocket-Framing
Die Teile, die du sonst selbst bauen müsstest, schon in der Box.
WebSocket-Client & -Server
RFC 6455 auf beiden Seiten, mit Per-Message-Deflate-Kompression (RFC 7692) und TLS bis 1.3 auf dem bereitgestellten Transport.
Auto-Reconnect-WatchDog
Die Client-Eigenschaften WatchDog und HeartBeat halten langlebige Verbindungen am Leben und bauen sie nach Netzwerkabbrüchen neu auf, ohne zusätzlichen Code.
Messaging-Protokolle
MQTT-3.1.1-/5.0-, AMQP-0.9.1-/1.0-, STOMP- und WAMP-Clients eingebaut. Sprich mit RabbitMQ, HiveMQ, Azure Service Bus oder ActiveMQ aus derselben Bibliothek.
HTTP/2
Ein nativer HTTP/2-Client (RFC 9113) im selben Paket, für APIs wie Apple Push Notifications, die ihn voraussetzen.
HTTP.SYS-Server
Die Server-Komponente bindet über HTTP.SYS und kann sich damit Port 80/443 mit IIS teilen und HTTP- und WebSocket-Verkehr aus einem einzigen Prozess bedienen.
SignalR-Wire-Clients
TsgcWSAPI_SignalR und TsgcWSAPI_SignalRCore implementieren das SignalR-Client-Wire-Protokoll, ein sgcWebSockets-Client kann also mit einem bestehenden ASP.NET-Core-SignalR-Server sprechen.
KI-/LLM-API-Clients
OpenAI-, Anthropic-, Gemini-, DeepSeek-, Grok-, Ollama-, Mistral- und MCP-Clients gehören zur selben Suite und spiegeln die Delphi-KI-Familie.
Authentifizierung & Sicherheit
Client und Server bieten die Property-Gruppen Authentication, Proxy und TLSOptions / SSLOptions; der Server ergänzt ein OnAuthentication-Event für Credential-Prüfungen.
Gleiche API wie Delphi
Identische Tsgc*-Klassennamen und Events auf beiden Plattformen. Teams, die Delphi und .NET parallel fahren, pflegen ein einziges mentales Modell.
Schnellstart
Ein Client und ein Server in C#
Ein paar Eigenschaften setzen, die Events verdrahten, Active setzen. Das ist das ganze Muster.
Die kostenlose Community Edition ist ein voll funktionsfähiger Build für Windows, Linux 64-bit und macOS 64-bit, der einen Nag-Screen zeigt. Sie ist der schnellste Weg, die Bibliothek in deiner eigenen Solution zu evaluieren. Die .NET-Editionen sind Community, Professional und Enterprise, und alle drei liefern denselben Komponentensatz, inklusive WebSocket-Client und WebSocket-Server. Die kommerziellen Editionen unterscheiden sich in der Lizenzierung, nicht im Funktionsumfang: Professional entfernt den Nag-Screen, fügt den öffentlichen C#-Interface-Quellcode hinzu und gewährt eine kommerzielle Redistributions-Lizenz, während Enterprise den vollständigen C#-Quellcode zum Neubauen der Assemblies plus Priority-Support ergänzt.