7

私はちょうど SignalR ( https://github.com/SignalR/SignalR ) で Hubs を読んでいましたが、それが何であるかを明確に理解できませんでした。チャットのグループのようなものですか、それとも何か他のものですか?

4

4 に答える 4

14

私は使用していませんが、基本的にはクライアント (javascript、silverlight、.NET) と ASP.NET の間で通信するための「リアルタイム」通信テクノロジです。現在、「リアルタイム」通信 (チャット アプリケーションと考えてください) には、ポーリング、ロング ポーリング、および HTML5 WebSocket の 3 つの方法があります。SignalR は抽象化レイヤーを追加し、ブラウザーのサポートとコンテキストに応じて、これら 3 つのメソッドすべてを活用します。3 つの方法 (および SignalR がどのように役立つか) を説明する記事を次に示します

そして、Hanselman の記事 (および機能するデモ!) の使用方法を次に示し ます。

別: http://jordanwallwork.co.uk/2011/10/signalr/

Hub は、通信に使用されるクラスです。JavaScript では、次のようなハブを使用できます。

$(function() {
    var myConnection = $.connection.myHub;
    $.connection.hub.start();
});

ASP.NET では、次のようにします。

public class Chat : Hub {
    public void Distribute(string message) {
        Clients.receive(Caller.name, message);
    }
}

これらのスニペットは両方とも、上記のリンクから取得したものです。

于 2012-01-19T16:42:09.323 に答える
5

ハブは、クライアント( javascript)とサーバー(ハブ)間の永続的な接続のためのAsp.NETMVCコントローラーと考えることができます。

クライアントとサーバー間でさまざまな種類のメッセージとデータを送信する簡単な方法。

パラメータと戻り値は、クライアント側でJSONとの間で自動的にシリアル化されます。

ハブにはクライアントをグループに追加するという概念があるため、AddToGroupメソッドとRemoveFromGroupメソッドを使用してチャットルーム機能を作成できます。したがって、特定のグループ内のすべてのクライアントにメッセージを送信できます。

GitHubからコードをダウンロードして、サンプルを確認することを強くお勧めします。部屋(グループ)のあるチャットサンプルがあります。

于 2012-01-19T19:32:15.107 に答える
0

ハブは、リアルタイムのクライアントからサーバーへの RPCとサーバーからクライアントへの RPC の両方を HTTP 経由で許可する SignalR の高レベル API です。ハブは、1 対多の RPC をサポートします。たとえば、すべてのクライアント、クライアントのグループ、呼び出し元のみなどです。トランスポートは、WebSocket、サーバー送信イベント、永久フレーム、ロング ポーリングのいずれか (最良から最悪) を介して行われます。

参照: https://channel9.msdn.com/Events/Build/2012/3-034

于 2017-03-08T10:50:38.117 に答える
0

これを読んで、ハブとは何かについて明確に定義された答えにたどり着き、この質問に出くわしました。ここには多くの回答がありますが、signalR の可能性を完全に明らかにしていないという意味で、少し古いようです。

最近、singalR を使用してプッシュ通知アプリケーションを作成しました。

データベースにデータを挿入するAJAXリクエストを送信することを想像してください。変更をリッスンするデータベースにリスナーを接続すると、その特定のデータベースの変更に関するメッセージをサーバーからすべての接続ユーザーに送信できます。つまり、何かが発生したというプッシュ通知です。

この記事は、これを部分的に達成する方法の良い例を示しています

于 2019-02-25T14:34:42.547 に答える