2012-11-14 7 views
7

私はこの SignalR Console app exampleに基づいて、C#ベースのコンソールアプリケーションを作成しました。Self Hosted SignalRのデプロイ

これはローカルPCでうまく動作し、サーバーアプリケーション(およびbin/Releaseフォルダのすべてのファイル)を自分のサーバーにコピーしました。私がサーバーアプリケーションを実行すると、それは "http://www.redacted.com:8088/"を聞いて楽しい場所に座っています。クライアントアプリケーションで

は、私が変更:

var _connection = new HubConnection("http://127.0.0.1:8088/"); 

へ:

var _connection = new HubConnection("http://www.redacted.com:8088/"); 

私は、接続を開始しようとすると、私は今、503サーバー利用できないエラーが発生しますが。私はSignalRの初心者であり、配備に関してかなりのチュートリアルを見つけることはできませんでした(主に、私が推測する要件に応じてさまざまな方法が実行される可能性があるため)。

だから私の質問は以下のとおりです。

  1. 私はちょうどアプリをコンソールにアプリをコンソール、このビーイングのWebベースのを見ていないよ念頭に(これが機能するためにIISには何も設定する必要がありますか)、またはサーバーexeを実行してポートを開くだけでいいですか?

  2. 私のサーバーはWindows Server 2012を実行しており、接続を許可されているアプリケーションの一覧に自分のexeを追加しています。ポート8088の受信ルールを追加しました。私のクライアントに見えるようにするには?

+0

ホスティングに応じて、あなたが行くことができない場合があります彼らのインフラストラクチャ設定のために8088を通して、サーバが他の役割も担当しているなら、私は80や8080のようなもっと主流を試してみるでしょう。それ以外の場合は、管理者と連絡を取り、不明なポートでトラフィックを許可するかどうか聞いてください。 – f0x

+0

私は管理者全員が管理しているWindows Server 2008の仮想インスタンスから実行しています。私が知っている限り、Windowsファイアウォール以外のポートをブロックしてはならないが、ポート8080を使用して何が起こるかを調べる(サーバーもポート80でWebサーバーとして使用されているので、それから離れているだろう)。 – Mottster

+0

これは接続する、つまりConnection.Start()が例外をスローせずに実行されているように見えますが、myHub.Invokeを試行すると「データを送信する前に起動する必要があります」というメッセージが表示されます。 – Mottster

答えて

1

サーバー上でこれらの線に沿って何かを持っている場合は

 string url = "http://127.0.0.1:8088/"; 
     var server = new Server(url); 
     server.MapHubs(); 
     server.Start(); 

は、すべてのIPアドレス(またはホスト)に結合してみ

 string url = "http://*:8088/";