Biblioteca WebSocket .NET | Componentes cliente y servidor C# | eSeGeCe

Biblioteca WebSocket .NET — Cliente y servidor para C#

sgcWebSockets .NET es una biblioteca completa de cliente y servidor WebSocket para C#: framing RFC 6455, TLS, compresión per-message-deflate, reconexión automática, más los sub-protocolos MQTT, AMQP, STOMP y WAMP y HTTP/2 en el mismo paquete. Instálala desde NuGet como esegece.sgcWebSockets o empieza con la Community Edition gratuita.

Una biblioteca de .NET Framework 2.0 a .NET 9

La misma suite de componentes que el producto Delphi, portada a C# con los mismos nombres de clase y la misma API orientada a eventos.

Una biblioteca WebSocket para .NET debería cubrir algo más que el protocolo de wire. System.Net.WebSockets te da el framing RFC 6455; sgcWebSockets .NET añade encima lo que las aplicaciones en producción necesitan: un servidor que funciona sobre TCP o HTTP.SYS (puertos compartidos con IIS), un cliente con reconexión automática por watchdog y heartbeats, colas de mensajes, soporte de proxy y autenticación, y los sub-protocolos de mensajería (MQTT, AMQP, STOMP, WAMP) que de otro modo supondrían añadir tres dependencias más.

La cobertura de target frameworks es inusualmente amplia: .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 y .NET Standard 1.6/2.0, en Windows, Linux y macOS. Las aplicaciones WinForms heredadas y los servicios ASP.NET Core actuales usan el mismo paquete y el mismo código.

Cliente

TsgcWebSocketClient: cliente RFC 6455 con TLS, proxy, heartbeat y watchdog

Servidor

TsgcWebSocketHTTPServer: servidor WebSocket + HTTP sobre HTTP.SYS, puertos compartidos, SSL/TLS

NuGet

esegece.sgcWebSockets: instálalo desde nuget.org para todos los targets .NET

Community Edition

Descarga gratuita para Windows, Linux 64-bit y macOS 64-bit (incluye nag screen)

Más que framing WebSocket

Las piezas que de otro modo construirías tú mismo, ya incluidas.

Cliente y servidor WebSocket

RFC 6455 en ambos lados, con compresión per-message-deflate (RFC 7692) y TLS hasta 1.3 en el transporte proporcionado.

Watchdog de reconexión automática

Las propiedades WatchDog y HeartBeat del cliente mantienen vivas las conexiones de larga duración y las restablecen tras caídas de red, sin código extra.

Protocolos de mensajería

Clientes MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP y WAMP integrados. Habla con RabbitMQ, HiveMQ, Azure Service Bus o ActiveMQ desde la misma biblioteca.

HTTP/2

Un cliente HTTP/2 nativo (RFC 9113) en el mismo paquete, para APIs como Apple Push Notifications que lo requieren.

Servidor HTTP.SYS

El componente servidor se enlaza a través de HTTP.SYS, así que puede compartir los puertos 80/443 con IIS y servir tráfico HTTP y WebSocket desde un solo proceso.

Clientes wire SignalR

TsgcWSAPI_SignalR y TsgcWSAPI_SignalRCore implementan el protocolo de wire del cliente SignalR, de modo que un cliente sgcWebSockets puede hablar con un servidor SignalR de ASP.NET Core existente.

Clientes de APIs AI/LLM

Los clientes de OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral y MCP vienen en la misma suite, reflejando la familia de IA de Delphi.

Autenticación y seguridad

Cliente y servidor exponen los grupos de propiedades Authentication, Proxy y TLSOptions / SSLOptions; el servidor añade un evento OnAuthentication para validar credenciales.

La misma API que Delphi

Nombres de clase Tsgc* y eventos idénticos en ambas plataformas, así que los equipos que combinan Delphi y .NET mantienen un único modelo mental.

Un cliente y un servidor en C#

Configura unas pocas propiedades, conecta los eventos, activa Active. Ese es todo el patrón.

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 gratuita a Enterprise

La Community Edition gratuita es una build completamente funcional para Windows, Linux 64-bit y macOS 64-bit que muestra un nag screen, la forma más rápida de evaluar la biblioteca en tu propia solución. Las ediciones .NET son Community, Professional y Enterprise, y las tres incluyen el mismo conjunto de componentes, con el cliente y también el servidor WebSocket. Las ediciones comerciales se diferencian en la licencia, no en las funciones: Professional elimina el nag screen, añade el código fuente de la interfaz pública C# y otorga una licencia de redistribución comercial, mientras que Enterprise añade el código fuente C# completo para recompilar los ensamblados más soporte prioritario.

Consulta la matriz completa de características .NET para el desglose por edición, componente a componente.

Más sobre sgcWebSockets .NET

Bibliotecas WebSocket .NET comparadas

Un estudio neutral con fuentes citadas: sgcWebSockets .NET frente a System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck y Watson.

Cliente WebSocket .NET

Referencia del componente TsgcWebSocketClient en .NET: propiedades, métodos, eventos.

Servidor WebSocket .NET

Referencia del componente TsgcWebSocketHTTPServer en .NET: HTTP.SYS, puertos compartidos, TLS.

Matriz de características .NET

Cada componente y protocolo, por edición y por target framework.

Blog: El paquete NuGet

Instalar esegece.sgcWebSockets desde nuget.org y poner en marcha una primera conexión.

Descarga

Community Edition, demos compiladas y el ejemplo ASP.NET Core + React.

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

Añade WebSockets a tu app .NET hoy mismo

Instala esegece.sgcWebSockets desde NuGet o coge la Community Edition gratuita y ejecuta las demos.