2017-09-16 4 views
0

Arduinoがネットワーク上で利用可能な場合、接続したいと思っています。私は、HTTPクライアントを使用してJSON答えを処理するArduino Webサーバーにアクセスしようとしています。Win10 IOT/UWP:ネットワークデバイス(Arduino)が利用可能かどうかを検出する方法

UWPではpingが利用できないので、私のオプションは何ですか? (Articleを参照)

HTTPクライアントの例外を処理するオプションがあります。しかし、JSONデータを要求する前に、接続を確認する上品な方法はありますか?

答えて

0

HTTPClientを使用してGetAsync()を実行し、そこから出力されるステータスコードをチェックする方法があります。

時間の制約に応じて、自然にタイムアウトするのを待つか、キャンセルトークンを渡してデフォルトより早く破棄することができます。

(わずかに修正)https://docs.microsoft.com/en-us/windows/uwp/networking/httpclientここから:

//Send the GET request asynchronously and retrieve the response as a string. 

Windows.Web.Http.HttpResponseMessage httpResponse = new Windows.Web.Http.HttpResponseMessage(); 
string httpResponseBody = ""; 

try 
{ 
    //Send the GET request 
    httpResponse = await httpClient.GetAsync(requestUri); 
    if(httpResponse.IsSuccessStatusCode) { /* Do something with it */ } 
    else { /* Do fallback here */ } 
} 
catch (Exception ex) 
{ 
    httpResponseBody = "Error: " + ex.HResult.ToString("X") + " Message: " + ex.Message; 
} 
+0

すでに私の現在のソリューションであること - 私はそこよりエレガントな何かがあるかもしれないと思いました。 – Christoph

関連する問題