Bibliothèque WebSocket .NET | Composants Client & Serveur C# | eSeGeCe

Bibliothèque WebSocket .NET — Client et serveur pour C#

sgcWebSockets .NET est une bibliothèque WebSocket client et serveur complète pour C# : framing RFC 6455, TLS, compression per-message-deflate, reconnexion automatique, plus les sous-protocoles MQTT, AMQP, STOMP et WAMP et HTTP/2 dans le même package. Installez-la depuis NuGet sous le nom esegece.sgcWebSockets ou commencez avec l'édition Community gratuite.

Une seule bibliothèque de .NET Framework 2.0 à .NET 9

La même suite de composants que le produit Delphi, portée en C# avec les mêmes noms de classes et la même API événementielle.

Une bibliothèque WebSocket .NET devrait couvrir plus que le protocole de fil. System.Net.WebSockets vous donne le framing RFC 6455 ; sgcWebSockets .NET ajoute par-dessus ce dont les applications de production ont besoin : un serveur qui tourne sur TCP ou HTTP.SYS (ports partagés avec IIS), un client avec reconnexion automatique par watchdog et heartbeats, mise en file des messages, support des proxys et de l'authentification, et les sous-protocoles de messagerie (MQTT, AMQP, STOMP, WAMP) qui signifieraient sinon trois dépendances de plus.

La couverture des frameworks cibles est exceptionnellement large : .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 et .NET Standard 1.6/2.0, sur Windows, Linux et macOS. Les applications WinForms héritées et les services ASP.NET Core actuels utilisent le même package et le même code.

Client

TsgcWebSocketClient : client RFC 6455 avec TLS, proxy, heartbeat et watchdog

Serveur

TsgcWebSocketHTTPServer : serveur WebSocket + HTTP sur HTTP.SYS, ports partagés, SSL/TLS

NuGet

esegece.sgcWebSockets : installation depuis nuget.org pour toutes les cibles .NET

Édition Community

Téléchargement gratuit pour Windows, Linux 64 bits et macOS 64 bits (inclut un écran de rappel)

Plus que du framing WebSocket

Les briques que vous devriez sinon construire vous-même, déjà dans la boîte.

Client & serveur WebSocket

RFC 6455 des deux côtés, avec compression per-message-deflate (RFC 7692) et TLS jusqu'à 1.3 sur le transport fourni.

Watchdog de reconnexion automatique

Les propriétés WatchDog et HeartBeat du client maintiennent les connexions longue durée vivantes et les rétablissent après les coupures réseau, sans code supplémentaire.

Protocoles de messagerie

Clients MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP et WAMP intégrés. Parlez à RabbitMQ, HiveMQ, Azure Service Bus ou ActiveMQ depuis la même bibliothèque.

HTTP/2

Un client HTTP/2 natif (RFC 9113) dans le même package, pour les API comme Apple Push Notifications qui l'exigent.

Serveur HTTP.SYS

Le composant serveur se lie via HTTP.SYS, il peut donc partager les ports 80/443 avec IIS et servir le trafic HTTP et WebSocket depuis un seul processus.

Clients wire SignalR

TsgcWSAPI_SignalR et TsgcWSAPI_SignalRCore implémentent le protocole de fil client SignalR, un client sgcWebSockets peut donc parler à un serveur ASP.NET Core SignalR existant.

Clients d'API IA/LLM

Les clients OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral et MCP sont livrés dans la même suite, en miroir de la famille IA Delphi.

Authentification & sécurité

Client et serveur exposent les groupes de propriétés Authentication, Proxy et TLSOptions / SSLOptions ; le serveur ajoute un événement OnAuthentication pour vérifier les identifiants.

La même API qu'en Delphi

Noms de classes Tsgc* et événements identiques sur les deux plateformes, les équipes qui font tourner Delphi et .NET côte à côte gardent donc un seul modèle mental.

Un client et un serveur en C#

Définissez quelques propriétés, branchez les événements, passez Active à true. C'est tout le pattern.

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;

De la Community gratuite à l'Enterprise

L'édition Community gratuite est un build complet et fonctionnel pour Windows, Linux 64 bits et macOS 64 bits qui affiche un écran de rappel, la façon la plus rapide d'évaluer la bibliothèque dans votre propre solution. Les éditions .NET sont Community, Professional et Enterprise, et toutes trois livrent le même ensemble de composants, y compris le client et le serveur WebSocket. Les éditions commerciales diffèrent par la licence plutôt que par les fonctionnalités : Professional supprime l'écran de rappel, ajoute le source des interfaces C# publiques et accorde une licence de redistribution commerciale, tandis qu'Enterprise ajoute le code source C# complet pour recompiler les assemblies plus le support prioritaire.

Consultez la matrice complète des fonctionnalités .NET pour le détail par édition, composant par composant.

Plus sur sgcWebSockets .NET

Bibliothèques WebSocket .NET comparées

Une étude neutre et sourcée : sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck et Watson.

Client WebSocket .NET

Référence du composant TsgcWebSocketClient en .NET : propriétés, méthodes, événements.

Serveur WebSocket .NET

Référence du composant TsgcWebSocketHTTPServer en .NET : HTTP.SYS, ports partagés, TLS.

Matrice des fonctionnalités .NET

Chaque composant et protocole, par édition et par framework cible.

Blog : Le package NuGet

Installer esegece.sgcWebSockets depuis nuget.org et obtenir une première connexion opérationnelle.

Téléchargement

Édition Community, démos compilées et l'exemple ASP.NET Core + React.

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

Ajoutez des WebSockets à votre app .NET dès aujourd'hui

Installez esegece.sgcWebSockets depuis NuGet ou prenez l'édition Community gratuite et lancez les démos.