1. ホーム
  2. signalr

[解決済み] SignalR:HubとPersistent Connectionを選択する理由

2022-04-27 19:24:24

質問

最近、SignalRについて検索して読んでいるのですが、HubとPersistent Connectionsの違いについて多くの説明を目にするものの、次のレベルについて理解できていません。

どのように解決するのか?

で見たところ 接続とハブのセクション ハブは、下位レベルの持続的接続の上にトピックシステムを提供するようです。

下記の高評価のコメントより。

<ブロッククオート

部分的に正しい。持続的接続でもトピックやグループを取得することは可能です。大きな違いは、異なるタイプのメッセージのディスパッチです。たとえば、さまざまな種類のメッセージがあり、さまざまな種類のペイロードを送信したいとします。持続的接続の場合、メッセージの種類をペイロードに埋め込む必要がありますが(Rawサンプル参照)、Hubsでは接続を介してRPCを行うことができます(サーバーからクライアント、サーバーからクライアントのメソッドを呼び出すことが可能です)。もう一つの大きなポイントは、モデルバインディングです。ハブは型付けの強いパラメータをメソッドに渡すことを可能にします。

ドキュメントで使われている例では、ユーザーが特定の部屋に参加し、同じ部屋にいる他のユーザーからのメッセージだけを受け取ることができるチャットルームのメタファーを使っています。より一般的には、あなたのコードはトピックを購読し、そのトピックに公開されたメッセージだけを取得します。永続的な接続を使えば、すべてのメッセージを取得することができます。

永続的な接続の上に独自のトピックシステムを構築することは簡単ですが、この場合、SignalRチームはすでにあなたのために仕事をしました。