.NET WebSocket-bibliotheek | C# client- & servercomponenten | eSeGeCe

.NET WebSocket-bibliotheek — Client en server voor C#

sgcWebSockets .NET is een complete WebSocket-client- en serverbibliotheek voor C#: RFC 6455-framing, TLS, per-message-deflate-compressie, auto-reconnect, plus MQTT-, AMQP-, STOMP- en WAMP-subprotocollen en HTTP/2 in hetzelfde package. Installeer hem vanaf NuGet als esegece.sgcWebSockets of begin met de gratis Community Edition.

Een bibliotheek van .NET Framework 2.0 tot .NET 9

Dezelfde componentsuite als het Delphi-product, geport naar C# met dezelfde klassenamen en dezelfde event-driven API.

Een .NET WebSocket-bibliotheek zou meer moeten dekken dan het wire-protocol. System.Net.WebSockets geeft je RFC 6455-framing; sgcWebSockets .NET voegt toe wat productie-applicaties daarbovenop nodig hebben: een server die draait op TCP of HTTP.SYS (gedeelde poorten met IIS), een client met watchdog-auto-reconnect en heartbeats, message queueing, proxy- en authenticatie-ondersteuning, en de messaging-subprotocollen (MQTT, AMQP, STOMP, WAMP) die anders drie extra dependencies zouden betekenen.

De target-framework-dekking is ongewoon breed: .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 en .NET Standard 1.6/2.0, op Windows, Linux en macOS. Legacy-WinForms-applicaties en actuele ASP.NET Core-services gebruiken hetzelfde package en dezelfde code.

Client

TsgcWebSocketClient: RFC 6455-client met TLS, proxy, heartbeat en watchdog

Server

TsgcWebSocketHTTPServer: WebSocket + HTTP-server over HTTP.SYS, gedeelde poorten, SSL/TLS

NuGet

esegece.sgcWebSockets: installeer vanaf nuget.org voor alle .NET-targets

Community Edition

Gratis download voor Windows, Linux 64-bit en macOS 64-bit (bevat nag screen)

Meer dan WebSocket-framing

De onderdelen die je anders zelf zou bouwen, al in de doos.

WebSocket-client & -server

RFC 6455 aan beide kanten, met per-message-deflate-compressie (RFC 7692) en TLS tot 1.3 op het meegeleverde transport.

Auto-reconnect-watchdog

De WatchDog- en HeartBeat-properties van de client houden langlevende verbindingen in leven en herstellen ze na netwerkuitval, zonder extra code.

Messaging-protocollen

MQTT 3.1.1 / 5.0-, AMQP 0.9.1 / 1.0-, STOMP- en WAMP-clients ingebouwd. Praat met RabbitMQ, HiveMQ, Azure Service Bus of ActiveMQ vanuit dezelfde bibliotheek.

HTTP/2

Een native HTTP/2-client (RFC 9113) in hetzelfde package, voor API’s zoals Apple Push Notifications die hem vereisen.

HTTP.SYS-server

Het servercomponent bindt via HTTP.SYS, dus het kan poort 80/443 delen met IIS en HTTP- en WebSocket-verkeer vanuit een proces bedienen.

SignalR-wire-clients

TsgcWSAPI_SignalR en TsgcWSAPI_SignalRCore implementeren het SignalR-client-wire-protocol, zodat een sgcWebSockets-client kan praten met een bestaande ASP.NET Core SignalR-server.

AI/LLM-API-clients

OpenAI-, Anthropic-, Gemini-, DeepSeek-, Grok-, Ollama-, Mistral- en MCP-clients zitten in dezelfde suite en spiegelen de Delphi-AI-familie.

Authenticatie & beveiliging

Client en server stellen Authentication-, Proxy- en TLSOptions- / SSLOptions-property-groepen bloot; de server voegt een OnAuthentication-event toe voor credential-checks.

Dezelfde API als Delphi

Identieke Tsgc*-klassenamen en events op beide platformen, dus teams die Delphi en .NET naast elkaar draaien onderhouden een mentaal model.

Een client en een server in C#

Zet een paar properties, koppel de events, zet Active. Dat is het hele patroon.

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;

Van gratis Community tot Enterprise

De gratis Community Edition is een volledig werkende build voor Windows, Linux 64-bit en macOS 64-bit die een nag screen toont, de snelste manier om de bibliotheek in je eigen solution te evalueren. De .NET-edities zijn Community, Professional en Enterprise, en alle drie leveren dezelfde componentset, inclusief zowel de WebSocket-client als de WebSocket-server. De commerciële edities verschillen in licentie in plaats van features: Professional verwijdert het nag screen, voegt de publieke C#-interface-source toe en verleent een commerciële redistributielicentie, terwijl Enterprise de volledige C#-broncode toevoegt voor het herbouwen van de assemblies plus priority support.

Zie de volledige .NET-feature-matrix voor de uitsplitsing per editie, component voor component.

Meer over sgcWebSockets .NET

.NET WebSocket-bibliotheken vergeleken

Een neutrale survey met bronvermelding: sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck en Watson.

.NET WebSocket-client

Componentreferentie voor TsgcWebSocketClient op .NET: properties, methodes, events.

.NET WebSocket-server

Componentreferentie voor TsgcWebSocketHTTPServer op .NET: HTTP.SYS, gedeelde poorten, TLS.

.NET-feature-matrix

Elk component en protocol, per editie en per target framework.

Blog: Het NuGet-package

esegece.sgcWebSockets installeren vanaf nuget.org en een eerste verbinding aan de praat krijgen.

Download

Community Edition, gecompileerde demo’s en het ASP.NET Core + React-voorbeeld.

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

Voeg vandaag nog WebSockets toe aan je .NET-app

Installeer esegece.sgcWebSockets vanaf NuGet of pak de gratis Community Edition en draai de demo’s.