2017-06-20 6 views
1

SignalRサーバは、接続されているすべてのクライアントに特定のメッセージを送信します。 UWPで2つのサンプルクライアントを作成し、もう1つはC#で単純なコンソールアプリケーションを作成しました。私は、クライアントのメソッドがSignalRから呼び出されると、単にメッセージを記録します。SignalRはUWPで動作が遅く、コンソールアプリケーションでは高速に動作します。

劇的コンソールアプリケーションは、すぐにサーバーが送信されるデータを記録しますが、UWPアプリケーションは、それには約6-30秒の遅延が追加されます。それは時々頻繁にトリガーされますが、10回中6回問題を再現することができます。以下は

私は、コンソールアプリケーションでメッセージをログに記録しているsimilary、UWPクライアントのコードです。

async Task SetupSignalR() 
    { 

     var conn = new HubConnection(baseUrl); 
     Writer.Text += (string.Format("Creating hub proxy with :{0}\n", baseUrl)); 
     var proxy = conn.CreateHubProxy("PumpStatusHub"); 


     Writer.Text += "Starting Connection\n"; 


     try 
     { 
      conn.Start().Wait(); 
      Writer.Text += "Connection started\n"; 
      proxy.Invoke("OpenPortReading").Wait();//, UserName, TextBoxMessage.Text); 
      Writer.Text += "Port invoked\n"; 
      proxy.On<string>("ReadUdpData", OnMessage); 
     } 
     catch (HttpRequestException ex) 
     { 
      Writer.Text += "Unable to connect to server: Start server 
          before connecting clients.\n"; 
      Writer.Text += ex.Message + "\n"; 
     } 
     catch (Exception ex) 
     { 
      Writer.Text += ex.Message + "\n"; 
      Task.Delay(3000).Wait(); 
      SetupSignalR().Wait(); 
     } 
    } 

    private void OnMessage(string obj) 
    { 
     Windows.ApplicationModel.Core.CoreApplication.MainView. 
      Dispatcher.RunAsync(CoreDispatcherPriority.High, (DispatchedHandler)(() => 
      { 
       Writer.Text += string.Format("Message received: {0}\n" 
              , counter++); 
      })); 
    } 

ご協力いただければ幸いです。 ありがとうございます。

+0

コードを入力してください。そうでない場合は、質問は終了します。 – spender

+1

UWPアプリケーションのテスト環境は何ですか?デバイスを変更したり、テスト用にネットワーク接続を更新したり、同じ結果が得られているかどうかを確認してください。データが遅い場合、あなたにとって悪影響は何ですか?そして、あなたが断る人から送るデータは何ですか? –

+0

同じテスト環境では、コンソールアプリケーションクライアントはすぐにデータを表示しますが、uwpクライアントは遅延を表示します –

答えて

1

私はこれはSignalRの開発者と協力して固定し、トランスポートとしてサーバー送信されたイベントを使用して、彼らは固定されているUWPクライアントのSignalRの問題があったことは興味深いものを見つけました。

Windows 7はWebSocketをサポートしていないため、ロングポーリング転送を使用して問題を解決しました。

関連する問題