.NET-WebSocket-Bibliothek | C#-Client- & Server-Komponenten | eSeGeCe

.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.

Eine Bibliothek von .NET Framework 2.0 bis .NET 9

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

NuGet

esegece.sgcWebSockets: Installation von nuget.org für alle .NET-Targets

Community Edition

Kostenloser Download für Windows, Linux 64-bit und macOS 64-bit (mit Nag-Screen)

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.

Ein Client und ein Server in C#

Ein paar Eigenschaften setzen, die Events verdrahten, Active setzen. Das ist das ganze Muster.

using esegece.sgcWebSockets;

var client = new TsgcWebSocketClient();
client.Host = "127.0.0.1";
client.Port = 80;
client.TLS = true;
client.Options.Parameters = "/ws/";

client.OnConnect    += (conn) => Console.WriteLine("#connected: " + conn.IP);
client.OnDisconnect += (conn, code) => Console.WriteLine("#disconnected: " + code);
client.OnMessage    += (conn, text) => Console.WriteLine(text);
client.OnException  += (conn, ex) => Console.WriteLine("#exception: " + ex.Message);

client.Active = true;
client.WriteData("hello");
using esegece.sgcWebSockets;

var server = new TsgcWebSocketHTTPServer();
server.Port = 80;

server.OnConnect    += (conn) => server.WriteData("welcome " + conn.IP);
server.OnMessage    += (conn, text) => server.WriteData(text);
server.OnDisconnect += (conn, code) => Console.WriteLine("#bye " + conn.IP);
server.OnAuthentication += (conn, user, pass, ref ok) =>
    { ok = (user == "admin" && pass == "s3cret"); };

server.Active = true;

Von der kostenlosen Community bis Enterprise

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.

Siehe die vollständige .NET-Feature-Matrix für die Aufschlüsselung pro Edition, Komponente für Komponente.

Mehr zu sgcWebSockets .NET

.NET-WebSocket-Bibliotheken im Vergleich

Eine neutrale Gegenüberstellung mit Quellenangaben: sgcWebSockets .NET vs. System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck und Watson.

.NET-WebSocket-Client

Komponenten-Referenz zu TsgcWebSocketClient unter .NET: Eigenschaften, Methoden, Events.

.NET-WebSocket-Server

Komponenten-Referenz zu TsgcWebSocketHTTPServer unter .NET: HTTP.SYS, geteilte Ports, TLS.

.NET-Feature-Matrix

Jede Komponente und jedes Protokoll, pro Edition und pro Target-Framework.

Blog: Das NuGet-Paket

esegece.sgcWebSockets von nuget.org installieren und die erste Verbindung zum Laufen bringen.

Download

Community Edition, kompilierte Demos und das Beispiel mit ASP.NET Core + React.

Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

Bring WebSockets noch heute in deine .NET-App

Installiere esegece.sgcWebSockets von NuGet oder hol dir die kostenlose Community Edition und starte die Demos.