ASP.NET Core SignalR クライアント

Delphi / C++Builder から ASP.NET Core SignalR ハブに接続します。ネゴシエートされた WebSocket トランスポート上で JSON ハブプロトコルを使用します。

TsgcWSAPI_SignalRCore

ASP.NET Core SignalR プロトコル向けのクライアントです。ハンドシェイク (JSON ハブプロトコル)、呼び出しメッセージ、ストリーミング、完了通知、キープアライブ ping を扱います。

コンポーネントクラス

TsgcWSAPI_SignalRCore

プロトコル

ASP.NET Core SignalR

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Standard / Professional / Enterprise

ネゴシエート、ハンドシェイク、呼び出し

ハブ URL を指す TsgcWebSocketClient とペアにすると、コンポーネントがネゴシエートと JSON プロトコルハンドシェイクを実行し、その後メソッドを呼び出せます。

uses
  sgcWebSocket, sgcWebSocket_API_SignalRCore;

var
  WSClient: TsgcWebSocketClient;
  Hub: TsgcWSAPI_SignalRCore;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.URL := 'wss://signalr.example.com/chatHub';

  Hub := TsgcWSAPI_SignalRCore.Create(nil);
  Hub.Client := WSClient;

  WSClient.Active := True;

  // Server method "SendMessage" with two args
  Hub.Invoke('SendMessage', ['alice', 'hello']);
end;
// uses: sgcWebSocket, sgcWebSocket_API_SignalRCore
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
WSClient->URL = "wss://signalr.example.com/chatHub";

TsgcWSAPI_SignalRCore *Hub = new TsgcWSAPI_SignalRCore(this);
Hub->Client = WSClient;

WSClient->Active = true;

主な構成

TsgcWebSocketClient 上に SignalR Core JSON ハブプロトコルを実装します。

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

必要に応じて HTTP ネゴシエート呼び出しを行い、{"protocol":"json","version":1} ハンドシェイクフレームを送信して、サーバーの応答をパースしたうえで OnConnect を発火します。

呼び出しメッセージ

Invoke(target, args)type:1 呼び出しエンベロープを送信し、invocationId を追跡します。完了通知が到着すると OnSignalRCoreResult が型付き戻り値とともに発火します。

ストリーミング受信

サーバー側の IAsyncEnumerable / ストリーミングハブをサポートします。StreamInvocation がストリームを開き、最終完了の前に OnSignalRCoreStreamItem が各項目を配信します。

キープアライブ ping

SignalR Core は 15 秒間隔で type:6 の ping メッセージを使用します。コンポーネントが自動で送信と応答を行います。

認証トークン

Bearer トークンは基盤クライアントの QueryString (?access_token=...) もしくはカスタム Authorization ヘッダーで渡せます。SignalR Core は両方をサポートします。

双方向

サーバー発のメソッド呼び出しには OnSignalRCoreClientCallback をバインドしてください。クライアントメソッド呼び出しへの応答は、ハンドラーからパース済み JSON 引数を返すことで行えます。

仕様とリファレンス

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

ドキュメントとデモ

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

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

ASP.NET Core SignalR と通信する準備はできましたか?

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