.NET WebSocket Kütüphanesi | C# İstemci & Sunucu Bileşenleri | eSeGeCe

.NET WebSocket Kütüphanesi — C# için İstemci ve Sunucu

sgcWebSockets .NET, C# için eksiksiz bir WebSocket istemci ve sunucu kütüphanesidir: RFC 6455 çerçeveleme, TLS, per-message-deflate sıkıştırma, otomatik yeniden bağlanma; buna ek olarak aynı pakette MQTT, AMQP, STOMP ve WAMP alt protokolleri ile HTTP/2. NuGet'ten esegece.sgcWebSockets olarak kurun veya ücretsiz Community Edition ile başlayın.

.NET Framework 2.0'dan .NET 9'a tek kütüphane

Delphi ürünüyle aynı bileşen paketi, aynı sınıf adları ve aynı olay güdümlü API ile C#'a taşındı.

Bir .NET WebSocket kütüphanesi, hat protokolünden fazlasını kapsamalıdır. System.Net.WebSockets size RFC 6455 çerçevelemeyi verir; sgcWebSockets .NET ise üretim uygulamalarının bunun üzerine ihtiyaç duyduklarını ekler: TCP veya HTTP.SYS üzerinde çalışan bir sunucu (IIS ile paylaşılan bağlantı noktaları), watchdog ile otomatik yeniden bağlanan ve heartbeat gönderen bir istemci, mesaj kuyruklama, proxy ve kimlik doğrulama desteği ve aksi halde üç bağımlılık daha eklemek anlamına gelecek mesajlaşma alt protokolleri (MQTT, AMQP, STOMP, WAMP).

Hedef çatı kapsamı alışılmadık derecede geniştir: Windows, Linux ve macOS üzerinde .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 ve .NET Standard 1.6/2.0. Eski WinForms uygulamaları ve güncel ASP.NET Core servisleri aynı paketi ve aynı kodu kullanır.

İstemci

TsgcWebSocketClient: TLS, proxy, heartbeat ve watchdog içeren RFC 6455 istemcisi

Sunucu

TsgcWebSocketHTTPServer: HTTP.SYS üzerinde WebSocket + HTTP sunucusu, paylaşılan bağlantı noktaları, SSL/TLS

NuGet

esegece.sgcWebSockets: tüm .NET hedefleri için nuget.org'dan kurun

Community Edition

Windows, Linux 64-bit ve macOS 64-bit için ücretsiz indirme (uyarı ekranı içerir)

WebSocket çerçevelemesinden fazlası

Aksi halde kendinizin geliştireceği parçalar, kutudan çıktığı gibi hazır.

WebSocket istemcisi & sunucusu

Her iki tarafta RFC 6455, per-message-deflate sıkıştırma (RFC 7692) ve sağlanan taşıma üzerinde 1.3'e kadar TLS.

Otomatik yeniden bağlanan watchdog

İstemcinin WatchDog ve HeartBeat özellikleri, uzun ömürlü bağlantıları canlı tutar ve ağ kopmalarından sonra ek kod gerektirmeden yeniden kurar.

Mesajlaşma protokolleri

MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP ve WAMP istemcileri yerleşiktir. RabbitMQ, HiveMQ, Azure Service Bus veya ActiveMQ ile aynı kütüphaneden konuşun.

HTTP/2

Apple Push Notifications gibi bunu gerektiren API'ler için aynı pakette yerel bir HTTP/2 istemcisi (RFC 9113).

HTTP.SYS sunucusu

Sunucu bileşeni HTTP.SYS üzerinden bağlanır, bu sayede 80/443 bağlantı noktasını IIS ile paylaşabilir ve HTTP ile WebSocket trafiğini tek bir süreçten sunabilir.

SignalR hat istemcileri

TsgcWSAPI_SignalR ve TsgcWSAPI_SignalRCore, SignalR istemci hat protokolünü uygular; böylece bir sgcWebSockets istemcisi mevcut bir ASP.NET Core SignalR sunucusuyla konuşabilir.

AI/LLM API istemcileri

OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral ve MCP istemcileri, Delphi AI ailesini yansıtarak aynı pakette gelir.

Kimlik doğrulama & güvenlik

İstemci ve sunucu Authentication, Proxy ve TLSOptions / SSLOptions özellik gruplarını sunar; sunucu, kimlik bilgisi denetimleri için bir OnAuthentication olayı ekler.

Delphi ile aynı API

Her iki platformda da özdeş Tsgc* sınıf adları ve olaylar; böylece Delphi ve .NET'i yan yana çalıştıran ekipler tek bir zihinsel model sürdürür.

C# ile bir istemci ve bir sunucu

Birkaç özellik ayarlayın, olayları bağlayın, Active değerini ayarlayın. Desenin tamamı bu.

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;

Ücretsiz Community'den Enterprise'a

Ücretsiz Community Edition, Windows, Linux 64-bit ve macOS 64-bit için uyarı ekranı gösteren tam çalışır bir derlemedir ve kütüphaneyi kendi çözümünüzde değerlendirmenin en hızlı yoludur. .NET sürümleri Community, Professional ve Enterprise olarak sunulur ve üçü de WebSocket istemcisi ile WebSocket sunucusu dahil aynı bileşen kümesiyle gelir. Ticari sürümler özelliklerden çok lisanslamada ayrışır: Professional uyarı ekranını kaldırır, herkese açık C# arayüz kaynağını ekler ve ticari yeniden dağıtım lisansı verir; Enterprise ise derlemeleri yeniden oluşturmak için tam C# kaynak kodunu ve öncelikli desteği ekler.

Sürüm bazında, bileşen bileşen döküm için tam .NET özellik matrisine bakın.

sgcWebSockets .NET hakkında daha fazlası

.NET WebSocket kütüphaneleri karşılaştırması

Tarafsız, kaynak gösterimli bir inceleme: sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck ve Watson.

.NET WebSocket istemcisi

.NET üzerinde TsgcWebSocketClient için bileşen referansı: özellikler, metotlar, olaylar.

.NET WebSocket sunucusu

.NET üzerinde TsgcWebSocketHTTPServer için bileşen referansı: HTTP.SYS, paylaşılan bağlantı noktaları, TLS.

.NET özellik matrisi

Her bileşen ve protokol, sürüm bazında ve hedef çatı bazında.

Blog: NuGet paketi

esegece.sgcWebSockets paketini nuget.org'dan kurma ve ilk bağlantıyı çalıştırma.

İndir

Community Edition, derlenmiş demolar ve ASP.NET Core + React örneği.

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

.NET uygulamanıza bugün WebSockets ekleyin

NuGet'ten esegece.sgcWebSockets paketini kurun veya ücretsiz Community Edition'ı alıp demoları çalıştırın.