ASP.NET SignalR クライアント

Delphi / C++Builder から ASP.NET SignalR (クラシック) のハブに接続します。単一の型付きコンポーネントでネゴシエート、サーバーメソッドの呼び出し、クライアント側コールバックの受信を行えます。

TsgcWSAPI_SignalR

クラシック ASP.NET SignalR プロトコル向けのクライアントです。ネゴシエート REST ステップ、WebSocket 接続 URL、ハブメソッド呼び出し、JSON エンベロープを処理します。

コンポーネントクラス

TsgcWSAPI_SignalR

プロトコル

ASP.NET SignalR

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Standard / Professional / Enterprise

ネゴシエート、呼び出し、受信

SignalR エンドポイントを対象とした TsgcWebSocketClient とペアにし、ハブを宣言したうえで、Invoke (サーバーメソッド) を呼び出し OnSignalRMessage (コールバック) にバインドします。

uses
  sgcWebSocket, sgcWebSocket_API_SignalR;

var
  WSClient: TsgcWebSocketClient;
  SignalR: TsgcWSAPI_SignalR;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.Host := 'signalr.example.com';

  SignalR := TsgcWSAPI_SignalR.Create(nil);
  SignalR.Client := WSClient;
  SignalR.SignalR.Hub := 'chathub';

  WSClient.Active := True;

  // Invoke a server-side method on the hub
  SignalR.Invoke('SendMessage', ['user1', 'hello']);
end;
// uses: sgcWebSocket, sgcWebSocket_API_SignalR
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
TsgcWSAPI_SignalR *SignalR = new TsgcWSAPI_SignalR(this);
SignalR->Client = WSClient;
SignalR->SignalR->Hub = "chathub";

WSClient->Active = true;

主な構成

レガシーな ASP.NET SignalR プロトコル (Core 以前の派生) を実装します。

ネゴシエートハンドシェイク

クラシック SignalR プロトコルは、まず HTTP 経由でネゴシエートを行います (接続トークン、プロトコルバージョン、トランスポートセット)。コンポーネントは WebSocket を開く前にネゴシエート呼び出しを実行します。

ハブメソッド呼び出し

Invoke(method, args) は H (hub)、M (method)、A (args) フィールドとシーケンス ID を持つハブ形式のエンベロープを送信します。応答は OnSignalRMessage として届きます。

クライアントコールバック

サーバー発のプッシュメッセージは OnSignalRClientCallback(method, args) として通知されます。コンポーネントは M / A エンベロープをパースし、生の JSON 引数を渡します。

再接続

切断時にコンポーネントは再ネゴシエートを行い、接続 ID を再開します。基盤クライアントのウォッチドッグがトランスポートレベルのリトライを処理します。

認証 Cookie はネゴシエート呼び出しから WebSocket ハンドシェイクへ自動的に引き継がれます。カスタムヘッダーは基盤クライアント経由で設定してください。

成熟しているがクラシック

クラシック SignalR は ASP.NET 4.x アプリ向けに引き続き保守されています。.NET Core / .NET 5 以降のハブには姉妹コンポーネント TsgcWSAPI_SignalRCore をご利用ください。

仕様とリファレンス

本コンポーネントが実装するプロトコルの信頼できる一次情報源です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、体験版のダウンロードを提供します。

オンラインヘルプ — API_SignalR 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
体験版 — sgcWebSockets Delphi から ASP.NET SignalR ハブに接続するための体験版パッケージをダウンロードできます。
技術ドキュメント (PDF) 本コンポーネントに特化した機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次情報源リファレンスを収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

SignalR ハブと通信する準備はできましたか?

体験版をダウンロードして、Delphi アプリケーションから ASP.NET SignalR ハブに接続しましょう。