TsgcWebSocketClient は、sgcWebSockets ランタイムクライアントの .NET ラッパーです。TsgcWebSocketClient_base からすべてのコア WebSocket 機能を継承しており、.NET アプリケーションに WebSocket の接続・送信・受信を行うコンポーネントスタイルの API を提供します。
主なプロパティ
- Host & Port – 接続先サーバーエンドポイント
- Options.Parameters – WebSocket ハンドシェイク用の URL パスまたはクエリパラメータ
- TLS & TLSOptions – TLS を有効にし、プロトコルバージョンおよび IO ハンドラーを選択
- Specifications.RFC6455 – RFC6455 WebSocket フレーミング準拠の切り替え
- Proxy – HTTP プロキシ設定(Enabled、Username、Password、Host、Port)
- Extensions.PerMessage_Deflate.Enabled – メッセージごとの圧縮を有効化
- Authentication – 必要に応じたベーシック認証資格情報
- Active –
trueで接続、falseで切断
イベント
接続ライフサイクルやデータに反応するためのイベントハンドラーを登録します。
- OnConnect – 接続成功後に発火します。サンプルハンドラーは接続先 IP をログに記録します
- OnDisconnect – 接続が閉じられたときにクローズコードとともにトリガーされます
- OnMessage – サーバーからのテキストメッセージを受信します
- OnError – プロトコルまたはソケットエラーを報告します
- OnException – コンポーネント内で発生した予期しない例外を公開します
コード例
using esegece.sgcWebSockets;
var client = new TsgcWebSocketClient();
client.OnConnect += OnConnectEvent;
client.OnDisconnect += OnDisconnectEvent;
client.OnException += OnExceptionEvent;
client.OnError += OnErrorEvent;
client.OnMessage += OnMessageEvent;
client.Host = "www.esegece.com";
client.Port = 2052;
client.Options.Parameters = "/";
client.TLS = false;
client.Specifications.RFC6455 = true;
client.Active = true;
// Sending data once connected
client.WriteData("Hello WebSocket!");
このコードはデモの使用方法を再現しています。接続前にイベントをバインドし、主要プロパティ(ホスト、ポート、TLS、RFC6455 など)を設定してから、Active を true に設定して接続を開始します。
上記のようにイベントハンドラーを定義することで、クライアントは接続をログに記録し、メッセージを受信し、WriteData でデータを送信できます。
