Biblioteca WebSocket .NET | Componentes Cliente & Servidor C# | eSeGeCe

Biblioteca WebSocket .NET — Cliente e Servidor para C#

O sgcWebSockets .NET é uma biblioteca completa de cliente e servidor WebSocket para C#: framing RFC 6455, TLS, compressão per-message-deflate, reconexão automática, além dos subprotocolos MQTT, AMQP, STOMP e WAMP e HTTP/2 no mesmo pacote. Instale pelo NuGet como esegece.sgcWebSockets ou comece com a Community Edition gratuita.

Uma biblioteca do .NET Framework 2.0 ao .NET 9

A mesma suíte de componentes do produto Delphi, portada para C# com os mesmos nomes de classe e a mesma API orientada a eventos.

Uma biblioteca WebSocket .NET deveria cobrir mais do que o protocolo de fio. O System.Net.WebSockets dá o framing RFC 6455; o sgcWebSockets .NET adiciona o que aplicações de produção precisam por cima: um servidor que roda sobre TCP ou HTTP.SYS (portas compartilhadas com o IIS), um cliente com reconexão automática via watchdog e heartbeats, enfileiramento de mensagens, suporte a proxy e autenticação, e os subprotocolos de mensageria (MQTT, AMQP, STOMP, WAMP) que de outra forma significariam puxar mais três dependências.

A cobertura de target frameworks é incomumente ampla: .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, em Windows, Linux e macOS. Aplicações WinForms legadas e serviços ASP.NET Core atuais usam o mesmo pacote e o mesmo código.

Cliente

TsgcWebSocketClient: cliente RFC 6455 com TLS, proxy, heartbeat e watchdog

Servidor

TsgcWebSocketHTTPServer: servidor WebSocket + HTTP sobre HTTP.SYS, portas compartilhadas, SSL/TLS

NuGet

esegece.sgcWebSockets: instale do nuget.org para todos os targets .NET

Community Edition

Download gratuito para Windows, Linux 64-bit e macOS 64-bit (inclui nag screen)

Mais do que framing WebSocket

As partes que você construiria por conta própria, já incluídas na caixa.

Cliente & servidor WebSocket

RFC 6455 dos dois lados, com compressão per-message-deflate (RFC 7692) e TLS até 1.3 no transporte fornecido.

Watchdog de reconexão automática

As propriedades WatchDog e HeartBeat do cliente mantêm conexões de longa duração vivas e as restabelecem após quedas de rede, sem código extra.

Protocolos de mensageria

Clientes MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP e WAMP embutidos. Fale com RabbitMQ, HiveMQ, Azure Service Bus ou ActiveMQ a partir da mesma biblioteca.

HTTP/2

Um cliente HTTP/2 nativo (RFC 9113) no mesmo pacote, para APIs como Apple Push Notifications que o exigem.

Servidor HTTP.SYS

O componente servidor faz bind através do HTTP.SYS, então pode compartilhar as portas 80/443 com o IIS e servir tráfego HTTP e WebSocket de um único processo.

Clientes wire SignalR

TsgcWSAPI_SignalR e TsgcWSAPI_SignalRCore implementam o protocolo de fio do cliente SignalR, então um cliente sgcWebSockets pode falar com um servidor ASP.NET Core SignalR existente.

Clientes de API de IA/LLM

Clientes OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral e MCP vêm na mesma suíte, espelhando a família de IA do Delphi.

Autenticação & segurança

Cliente e servidor expõem os grupos de propriedades Authentication, Proxy e TLSOptions / SSLOptions; o servidor adiciona um evento OnAuthentication para checagem de credenciais.

Mesma API do Delphi

Nomes de classe Tsgc* e eventos idênticos nas duas plataformas, então equipes que rodam Delphi e .NET lado a lado mantêm um único modelo mental.

Um cliente e um servidor em C#

Defina algumas propriedades, conecte os eventos, ative Active. Esse é o padrão inteiro.

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;

Da Community gratuita à Enterprise

A Community Edition gratuita é um build completo e funcional para Windows, Linux 64-bit e macOS 64-bit que mostra um nag screen, a forma mais rápida de avaliar a biblioteca na sua própria solução. As edições .NET são Community, Professional e Enterprise, e as três trazem o mesmo conjunto de componentes, incluindo tanto o cliente quanto o servidor WebSocket. As edições comerciais diferem no licenciamento e não nos recursos: a Professional remove o nag screen, adiciona o código-fonte da interface C# pública e concede uma licença comercial de redistribuição, enquanto a Enterprise adiciona o código-fonte C# completo para recompilar os assemblies, mais suporte prioritário.

Veja a matriz completa de recursos .NET para o detalhamento por edição, componente a componente.

Mais sobre o sgcWebSockets .NET

Bibliotecas WebSocket .NET comparadas

Um levantamento neutro e com fontes citadas: sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck e Watson.

Cliente WebSocket .NET

Referência do componente TsgcWebSocketClient no .NET: propriedades, métodos, eventos.

Servidor WebSocket .NET

Referência do componente TsgcWebSocketHTTPServer no .NET: HTTP.SYS, portas compartilhadas, TLS.

Matriz de recursos .NET

Cada componente e protocolo, por edição e por target framework.

Blog: O pacote NuGet

Instalando esegece.sgcWebSockets do nuget.org e colocando uma primeira conexão para rodar.

Download

Community Edition, demos compilados e o exemplo ASP.NET Core + React.

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

Adicione WebSockets ao seu app .NET hoje

Instale esegece.sgcWebSockets pelo NuGet ou pegue a Community Edition gratuita e rode os demos.