Libreria WebSocket .NET | Componenti client e server per C# | eSeGeCeVai al contenuto
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.
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
Download gratuito per Windows, Linux 64-bit e macOS 64-bit (include un nag screen)
Funzionalità
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.
Guida Rapida
Un client e un server in C#
Imposta poche proprietà, aggancia gli eventi, imposta Active. Il pattern è tutto qui.
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.