Libreria WebSocket .NET | Componenti client e server per C# | eSeGeCe

Libreria WebSocket .NET — client e server per C#

sgcWebSockets .NET è una libreria WebSocket client e server completa per C#: framing RFC 6455, TLS, compressione per-message-deflate, riconnessione automatica, più i sotto-protocolli MQTT, AMQP, STOMP e WAMP e HTTP/2 nello stesso pacchetto. Installala da NuGet come esegece.sgcWebSockets o parti dalla Community Edition gratuita.

Una sola libreria da .NET Framework 2.0 a .NET 9

La stessa suite di componenti del prodotto Delphi, portata in C# con gli stessi nomi di classe e la stessa API a eventi.

Una libreria WebSocket .NET dovrebbe coprire più del semplice wire protocol. System.Net.WebSockets ti dà il framing RFC 6455; sgcWebSockets .NET aggiunge quello che serve alle applicazioni in produzione: un server che gira su TCP o HTTP.SYS (porte condivise con IIS), un client con riconnessione automatica watchdog e heartbeat, accodamento dei messaggi, supporto per proxy e autenticazione, e i sotto-protocolli di messaging (MQTT, AMQP, STOMP, WAMP) che altrimenti significherebbero aggiungere altre tre dipendenze.

La copertura dei target framework è insolitamente ampia: .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 e .NET Standard 1.6/2.0, su Windows, Linux e macOS. Le applicazioni WinForms legacy e i servizi ASP.NET Core attuali usano lo stesso pacchetto e lo stesso codice.

Client

TsgcWebSocketClient: client RFC 6455 con TLS, proxy, heartbeat e watchdog

Server

TsgcWebSocketHTTPServer: server WebSocket + HTTP su HTTP.SYS, porte condivise, SSL/TLS

NuGet

esegece.sgcWebSockets: installa da nuget.org per tutti i target .NET

Community Edition

Download gratuito per Windows, Linux 64-bit e macOS 64-bit (include un nag screen)

Più del semplice framing WebSocket

Le parti che altrimenti costruiresti da solo, già incluse.

Client & server WebSocket

RFC 6455 su entrambi i lati, con compressione per-message-deflate (RFC 7692) e TLS fino alla 1.3 sul trasporto fornito.

Watchdog di riconnessione automatica

Le proprietà WatchDog e HeartBeat del client mantengono vive le connessioni di lunga durata e le ristabiliscono dopo le cadute di rete, senza codice aggiuntivo.

Protocolli di messaging

Client MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP e WAMP integrati. Parla con RabbitMQ, HiveMQ, Azure Service Bus o ActiveMQ dalla stessa libreria.

HTTP/2

Un client HTTP/2 nativo (RFC 9113) nello stesso pacchetto, per API come Apple Push Notifications che lo richiedono.

Server HTTP.SYS

Il componente server si collega tramite HTTP.SYS, quindi può condividere le porte 80/443 con IIS e servire traffico HTTP e WebSocket da un solo processo.

Client wire SignalR

TsgcWSAPI_SignalR e TsgcWSAPI_SignalRCore implementano il wire protocol client di SignalR, così un client sgcWebSockets può parlare con un server ASP.NET Core SignalR esistente.

Client API AI/LLM

I client OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral e MCP arrivano nella stessa suite, rispecchiando la famiglia AI di Delphi.

Autenticazione & sicurezza

Client e server espongono i gruppi di proprietà Authentication, Proxy e TLSOptions / SSLOptions; il server aggiunge un evento OnAuthentication per il controllo delle credenziali.

Stessa API di Delphi

Nomi di classe Tsgc* ed eventi identici su entrambe le piattaforme, così i team che usano Delphi e .NET fianco a fianco mantengono un solo modello mentale.

Un client e un server in C#

Imposta poche proprietà, aggancia gli eventi, imposta Active. Il pattern è tutto qui.

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;

Dalla Community gratuita alla Enterprise

La Community Edition gratuita è una build completa e funzionante per Windows, Linux 64-bit e macOS 64-bit che mostra un nag screen, il modo più rapido per valutare la libreria nella tua solution. Le edizioni .NET sono Community, Professional ed Enterprise, e tutte e tre includono lo stesso set di componenti, compresi sia il client sia il server WebSocket. Le edizioni commerciali differiscono nella licenza più che nelle funzionalità: Professional rimuove il nag screen, aggiunge il sorgente delle interfacce pubbliche C# e concede una licenza di redistribuzione commerciale, mentre Enterprise aggiunge il codice sorgente C# completo per ricompilare gli assembly più il supporto prioritario.

Consulta la feature matrix .NET completa per il dettaglio per edizione, componente per componente.

Altro su sgcWebSockets .NET

Librerie WebSocket .NET a confronto

Un'analisi neutrale con fonti citate: sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck e Watson.

Client WebSocket .NET

Riferimento del componente TsgcWebSocketClient su .NET: proprietà, metodi, eventi.

Server WebSocket .NET

Riferimento del componente TsgcWebSocketHTTPServer su .NET: HTTP.SYS, porte condivise, TLS.

Feature matrix .NET

Ogni componente e protocollo, per edizione e per target framework.

Blog: il pacchetto NuGet

Installare esegece.sgcWebSockets da nuget.org e far girare la prima connessione.

Download

Community Edition, demo compilate e l'esempio ASP.NET Core + React.

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

Aggiungi i WebSocket alla tua app .NET oggi stesso

Installa esegece.sgcWebSockets da NuGet oppure prendi la Community Edition gratuita ed esegui le demo.