2012-04-19 14 views
3

これまで、私はSignalRについて説明している記事をたくさん読んでいました。.netとObserverパターンのSignalR

検索中には、単純な定義を折り返す:SignalRはウィキごとのようにリアルタイムWebアプリケーション

を開発するために使用することができます:リアルタイムWebアプリケーションはすぐにそれのような情報を受け取るために、ユーザーを可能にする技術と実践のセットです彼らまたは彼らのソフトウェアが更新を定期的にソースをチェックすることを要求するのではなく、著者によって出版されている。

SignalRはオブザーバ/パブリッシャ&と類似していると思われます。クライアントがサーバに加入し、イベントが発生した場合、サーバはすべてのクライアントに通知を送信します。

私のクエリは です。1)SignalRはMessaging Pattern(オブザーバー/パブリッシャー&サブスクライバー)に基づいていますか?

2)「はい」の場合は、既存のメッセージングパターンが既に存在する場合は、別のメッセージングパターンSignalRを使用する理由を教えてください。

3)メッセージングパターン(オブザーバー/出版社&加入者を超えるSignalRの利点は何ですか)

+0

私はCometサーバの実装についても考えています。詳細はこの質問を参照してください。http://stackoverflow.com/q/10079516/134294 – Rus

+3

SignalRは抽象的なパターンではなく実装です。 – Foole

答えて

4

この質問は、ほぼ4年間、回答されていません! SignalRは、リアルタイムアプリケーション開発のためのMicrosoftの推奨ソリューションです。 HTTP要求/応答モデルでは、サーバーからの応答を得るためにクライアントがサーバーを呼び出す必要があります。しかし、SignalRを使用すると、サーバが頻繁にサーバをポーリングすることなく、サーバがクライアントにメッセージをプッシュすることができます。

回答1。はい、これにはオブザーバ/サブスクライバパターンの実装があります。クライアントは、最初にサーバーイベントを購読する必要があります。サーバーは、クライアントにブロードキャストする(または各クライアントにメッセージを送信することができます)。

回答2 & 3.あなたは(イベントログなど、FBの通知のような)クライアントに通知をプッシュする必要がある場合、私は、これは理想的で、この答えのために、より実用的になります。これは、effectivelyを実行する.NetテクノロジスタックのSignalRに似た他のテクノロジはありません。

このStock Marketサンプルアプリケーションを参照して、サーバーイベントを生成し、リアルタイムでクライアントに渡します。マルチプレイヤーゲームとオンラインチャットは、他の有用なケースです。

関連する問題