2017-05-30 8 views
0

PokerConquest.comでクライアントとして動作するASP.NET MVC WebアプリケーションにブロードキャストするSignal Rサーバーとして機能する、C#コンソールアプリケーションを実行したいと考えています。セルフホストコンソールアプリケーションが公開されていない場合は、シグナルRサーバーとして使用できますか?

ウェブサイトは公開されていますが、サーバーコンソールアプリケーションは一般公開される必要がありますか?通信は一方向(サーバーからクライアント)になります。自己ホスト型のコンソールアプリケーションは、外部の世界を見たり、Webリクエストなどを行うことはできますが、公にアクセスすることはできません。

あなたは、このようなオンラインでの使用のローカルホストを参照してくださいすべてのサンプル..

サーバー..

string url = "http://127.0.0.1:8088"; 
var SignalR = WebApp.Start(url); 

とクライアント..

あなたの信号rあれば素晴らしいです
var connection = new HubConnection("http://127.0.0.1:8088/"); 
var myHub = connection.CreateHubProxy("MyHub"); 

サーバーとクライアントは同じマシン上にあるが、多くの時間は彼らがいない時間。

So公的にアクセスできない自己ホスト型コンソールアプリケーションがシグナルrサーバとして機能し、公開アクセス可能なウェブアプリケーションクライアントにブロードキャストすることは可能でしょうか?

+0

チュートリアルがありますが、これは通常デバッグの観点から説明されています。そのため、例ではサーバはlocalhostです。 (VSでプロジェクトを実行すると、サーバーではなくローカルPCで実行されます)。 そのコードを公開する場合は、クライアント側では機能しません。 – Shadowfox

答えて

2

Signalrブロードキャストは、(Web Socketsまたは従来のAJAXを使用して)Signalrサーバに接続するクライアントに送信されます。

クライアントがサーバーに接続できない場合は、何も動作しません。

+0

ありがとうございます。そのため、クライアントとサーバーの両方に公的にアクセスできる必要がありますか? –

+0

信号Rが双方向接続に依存している場合は、別の通信技術を使用するのが最善でしょうか? 自己ホスト型のコンソールアプリからWeb ui(ページリロードなし)を更新するには、他にどのようなテクノロジーを使用できますか?クロスドメインAjax/JSON-P? –

+0

そのクライアントがサーバーに接続していない状態でクライアントにデータをプッシュする方法はありません。 – SLaks

関連する問題