.NET WebSocket ライブラリ | C# クライアント & サーバーコンポーネント | eSeGeCe

.NET WebSocket ライブラリ — C# のためのクライアントとサーバー

sgcWebSockets .NET は C# のための完全な WebSocket クライアント/サーバーライブラリです: RFC 6455 フレーミング、TLS、per-message-deflate 圧縮、自動再接続に加え、MQTT、AMQP、STOMP、WAMP サブプロトコルと HTTP/2 が同じパッケージに入っています。NuGet から esegece.sgcWebSockets としてインストールするか、無料の Community Edition から始めてください。

.NET Framework 2.0 から .NET 9 まで 1 つのライブラリ

Delphi 製品と同じコンポーネントスイートを、同じクラス名と同じイベント駆動 API のまま C# に移植。

.NET WebSocket ライブラリは、ワイヤープロトコル以上をカバーすべきです。System.Net.WebSockets が提供するのは RFC 6455 フレーミングです。sgcWebSockets .NET はその上に、本番アプリケーションが必要とするものを加えます: TCP または HTTP.SYS 上で動作するサーバー(IIS とのポート共有)、WatchDog 自動再接続とハートビートを備えたクライアント、メッセージキューイング、プロキシと認証のサポート、そして本来なら依存関係をさらに 3 つ引き込むことになるメッセージングサブプロトコル(MQTT、AMQP、STOMP、WAMP)。

ターゲットフレームワークのカバレッジは並外れて広く、.NET Framework 2.0–4.8.1、.NET Core 1.0–3.1、.NET 5/6/7/8/9、.NET Standard 1.6/2.0 を Windows、Linux、macOS でサポートします。レガシーな WinForms アプリケーションも現行の ASP.NET Core サービスも、同じパッケージと同じコードを使用します。

クライアント

TsgcWebSocketClient: TLS、プロキシ、ハートビート、WatchDog を備えた RFC 6455 クライアント

サーバー

TsgcWebSocketHTTPServer: HTTP.SYS 上の WebSocket + HTTP サーバー、ポート共有、SSL/TLS

NuGet

esegece.sgcWebSockets: すべての .NET ターゲット向けに nuget.org からインストール

Community Edition

Windows、Linux 64-bit、macOS 64-bit 向けの無料ダウンロード(ナグスクリーンを含む)

WebSocket フレーミング以上のもの

本来なら自分で作るはずの部品が、すでに箱の中に。

WebSocket クライアント & サーバー

両側で RFC 6455。per-message-deflate 圧縮(RFC 7692)と、提供トランスポート上で TLS 1.3 までをサポート。

自動再接続 WatchDog

クライアントの WatchDogHeartBeat プロパティが長寿命接続を維持し、ネットワーク切断後には追加コードなしで再確立します。

メッセージングプロトコル

MQTT 3.1.1 / 5.0、AMQP 0.9.1 / 1.0、STOMP、WAMP クライアントを内蔵。同じライブラリから RabbitMQ、HiveMQ、Azure Service Bus、ActiveMQ と対話できます。

HTTP/2

同じパッケージ内のネイティブ HTTP/2 クライアント(RFC 9113)。Apple Push Notifications のようにそれを必須とする API のために。

HTTP.SYS サーバー

サーバーコンポーネントは HTTP.SYS を通じてバインドするため、IIS とポート 80/443 を共有し、1 つのプロセスから HTTP と WebSocket のトラフィックを処理できます。

SignalR ワイヤークライアント

TsgcWSAPI_SignalRTsgcWSAPI_SignalRCore が SignalR クライアントワイヤープロトコルを実装しているので、sgcWebSockets クライアントは既存の ASP.NET Core SignalR サーバーと対話できます。

AI/LLM API クライアント

OpenAI、Anthropic、Gemini、DeepSeek、Grok、Ollama、Mistral、MCP のクライアントが同じスイートに同梱され、Delphi の AI ファミリーをミラーします。

認証 & セキュリティ

クライアントとサーバーは AuthenticationProxyTLSOptions / SSLOptions プロパティグループを公開し、サーバーは資格情報チェックのための OnAuthentication イベントを追加します。

Delphi と同じ API

両プラットフォームで同一の Tsgc* クラス名とイベント。Delphi と .NET を並行運用するチームは 1 つのメンタルモデルを維持できます。

C# でクライアントとサーバー

いくつかのプロパティを設定し、イベントをフックし、Active を設定。パターンはそれだけです。

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;

無料の Community から Enterprise まで

無料の Community Edition は、ナグスクリーンを表示する Windows、Linux 64-bit、macOS 64-bit 向けの完全に動作するビルドで、自分のソリューションでライブラリを評価する最速の方法です。.NET のエディションは CommunityProfessionalEnterprise で、3 つとも WebSocket クライアントと WebSocket サーバーの両方を含む同じコンポーネントセットを提供します。商用エディションの違いは機能ではなくライセンスです: Professional はナグスクリーンを取り除き、公開 C# インターフェースソースを加え、商用再配布ライセンスを付与します。Enterprise はさらに、アセンブリを再ビルドするための完全な C# ソースコードと優先サポートを追加します。

エディション別・コンポーネント別の内訳は完全な .NET 機能マトリクスを参照してください。

sgcWebSockets .NET の詳細

.NET WebSocket ライブラリ比較

中立で出典付きの調査: sgcWebSockets .NET 対 System.Net.WebSockets、SignalR、WebSocket-Sharp、Fleck、Watson。

.NET WebSocket クライアント

.NET 上の TsgcWebSocketClient のコンポーネントリファレンス: プロパティ、メソッド、イベント。

.NET WebSocket サーバー

.NET 上の TsgcWebSocketHTTPServer のコンポーネントリファレンス: HTTP.SYS、ポート共有、TLS。

.NET 機能マトリクス

すべてのコンポーネントとプロトコルを、エディション別・ターゲットフレームワーク別に。

ブログ: NuGet パッケージ

nuget.org からの esegece.sgcWebSockets のインストールと最初の接続の実行。

ダウンロード

Community Edition、コンパイル済みデモ、ASP.NET Core + React サンプル。

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

今日、.NET アプリに WebSocket を追加

NuGet から esegece.sgcWebSockets をインストールするか、無料の Community Edition を入手してデモを実行してください。