コンテンツにスキップ

C# SignalRによるリアルタイム通信

Topic

SignalRを使ってリアルタイム通信を行う

OverView

SignalRとは、リアルタイムWeb機能を提供するライブラリ

  • 複数のプラットフォームに対応
  • サーバーとクライアント間のトランスポート方法を自動的に最適化
  • OSS

サーバー

  • サーバーは、SignalR エンドポイントを公開する役割を担う
  • エンドポイントは、Hub または Hub サブクラスにマップされる
  • クライアントから呼び出すことができるハブメソッドと、クライアントが購読できるイベントの両方を公開する (リモート プロシージャと見なされる)

ハブ

  • クライアントとサーバーの間の通信のために使用される
  • クライアントとサーバーが相互にメソッドを呼び出すことができるようにする高レベルのパイプライン
  • すべての接続済みクライアントとサーバーとの間のプロキシの役割

プロトコル

  • JSON に基づくテキスト プロトコル (既定)
  • MessagePack に基づくバイナリ プロトコル (JSON より小さいメッセージを生成)

Usage

visual studio でASP.NET Core Webアプリケーションのプロジェクト作成

ライブラリ マネージャー (LibMan)

Reference