Biblioteka WebSocket dla .NET | Komponenty klienta i serwera C# | eSeGeCe

Biblioteka WebSocket dla .NET — Klient i serwer dla C#

sgcWebSockets .NET to kompletna biblioteka klienta i serwera WebSocket dla C#: ramkowanie RFC 6455, TLS, kompresja per-message-deflate, auto-reconnect, plus podprotokoły MQTT, AMQP, STOMP i WAMP oraz HTTP/2 w tym samym pakiecie. Zainstaluj ją z NuGet jako esegece.sgcWebSockets lub zacznij od darmowej Community Edition.

Jedna biblioteka od .NET Framework 2.0 do .NET 9

Ten sam zestaw komponentów co w produkcie Delphi, przeportowany do C# z tymi samymi nazwami klas i tym samym API opartym na zdarzeniach.

Biblioteka WebSocket dla .NET powinna pokrywać więcej niż sam protokół wire. System.Net.WebSockets daje Ci ramkowanie RFC 6455; sgcWebSockets .NET dodaje to, czego potrzebują aplikacje produkcyjne: serwer działający na TCP lub HTTP.SYS (współdzielone porty z IIS), klienta z auto-reconnect watchdog i heartbeatami, kolejkowanie wiadomości, wsparcie proxy i uwierzytelniania oraz podprotokoły komunikatów (MQTT, AMQP, STOMP, WAMP), które inaczej oznaczałyby dociągnięcie trzech kolejnych zależności.

Pokrycie frameworków docelowych jest wyjątkowo szerokie: .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 i .NET Standard 1.6/2.0, na Windows, Linux i macOS. Starsze aplikacje WinForms i aktualne usługi ASP.NET Core używają tego samego pakietu i tego samego kodu.

Klient

TsgcWebSocketClient: klient RFC 6455 z TLS, proxy, heartbeat i watchdog

Serwer

TsgcWebSocketHTTPServer: serwer WebSocket + HTTP nad HTTP.SYS, współdzielone porty, SSL/TLS

NuGet

esegece.sgcWebSockets: instalacja z nuget.org dla wszystkich targetów .NET

Community Edition

Darmowe pobranie dla Windows, Linux 64-bit i macOS 64-bit (zawiera ekran przypominający)

Więcej niż ramkowanie WebSocket

Części, które inaczej musiałbyś zbudować sam, już w zestawie.

Klient i serwer WebSocket

RFC 6455 po obu stronach, z kompresją per-message-deflate (RFC 7692) i TLS do 1.3 na dostarczonym transporcie.

Watchdog auto-reconnect

Właściwości WatchDog i HeartBeat klienta utrzymują długotrwałe połączenia przy życiu i odtwarzają je po zerwaniach sieci, bez dodatkowego kodu.

Protokoły komunikatów

Wbudowane klienty MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP i WAMP. Rozmawiaj z RabbitMQ, HiveMQ, Azure Service Bus lub ActiveMQ z tej samej biblioteki.

HTTP/2

Natywny klient HTTP/2 (RFC 9113) w tym samym pakiecie, dla API takich jak Apple Push Notifications, które go wymagają.

Serwer HTTP.SYS

Komponent serwera wiąże się przez HTTP.SYS, więc może współdzielić port 80/443 z IIS i obsługiwać ruch HTTP i WebSocket z jednego procesu.

Klienty wire SignalR

TsgcWSAPI_SignalR i TsgcWSAPI_SignalRCore implementują protokół wire klienta SignalR, więc klient sgcWebSockets może rozmawiać z istniejącym serwerem ASP.NET Core SignalR.

Klienty API AI/LLM

Klienty OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral i MCP dostarczane w tym samym zestawie, odzwierciedlające rodzinę AI Delphi.

Uwierzytelnianie i bezpieczeństwo

Klient i serwer udostępniają grupy właściwości Authentication, Proxy i TLSOptions / SSLOptions; serwer dodaje zdarzenie OnAuthentication do sprawdzania poświadczeń.

To samo API co Delphi

Identyczne nazwy klas Tsgc* i zdarzenia na obu platformach, więc zespoły prowadzące Delphi i .NET obok siebie utrzymują jeden model mentalny.

Klient i serwer w C#

Ustaw kilka właściwości, podepnij zdarzenia, ustaw Active. To cały wzorzec.

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;

Od darmowej Community do Enterprise

Darmowa Community Edition to w pełni działający build dla Windows, Linux 64-bit i macOS 64-bit, który pokazuje ekran przypominający (nag screen), najszybszy sposób na ocenę biblioteki we własnym rozwiązaniu. Edycje .NET to Community, Professional i Enterprise, a wszystkie trzy dostarczają ten sam zestaw komponentów, łącznie z klientem WebSocket i serwerem WebSocket. Edycje komercyjne różnią się licencjonowaniem, a nie funkcjami: Professional usuwa ekran przypominający, dodaje publiczne źródła interfejsu C# i przyznaje komercyjną licencję redystrybucji, natomiast Enterprise dodaje pełny kod źródłowy C# do przebudowy assemblies oraz priorytetowe wsparcie.

Zobacz pełną macierz funkcji .NET z rozkładem per edycja, komponent po komponencie.

Więcej o sgcWebSockets .NET

Porównanie bibliotek WebSocket dla .NET

Neutralny przegląd ze źródłami: sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck i Watson.

Klient WebSocket dla .NET

Referencja komponentu TsgcWebSocketClient na .NET: właściwości, metody, zdarzenia.

Serwer WebSocket dla .NET

Referencja komponentu TsgcWebSocketHTTPServer na .NET: HTTP.SYS, współdzielone porty, TLS.

Macierz funkcji .NET

Każdy komponent i protokół, per edycja i per framework docelowy.

Blog: Pakiet NuGet

Instalacja esegece.sgcWebSockets z nuget.org i uruchomienie pierwszego połączenia.

Pobieranie

Community Edition, skompilowane dema i przykład ASP.NET Core + React.

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

Dodaj WebSockets do swojej aplikacji .NET już dziś

Zainstaluj esegece.sgcWebSockets z NuGet lub chwyć darmową Community Edition i uruchom dema.