Win10 IOT / UWP:如何检测网络设备(Arduino)是否可用

时间:2017-09-16 15:04:18

标签: c# uwp windows-10-iot-core

如果网络上有我的Arduino,我想连接。我正在尝试使用HTTP客户端访问Arduino Web服务器并处理JSON答案。

由于UWP中没有ping,我有哪些选择? (见:termux wiki

一种选择是处理HTTP客户端的异常。但是在请求JSON数据之前是否还有更优雅的方法来检查连接?

1 个答案:

答案 0 :(得分: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;
}