最近做一个pos系统需要定时向服务器传送交易数据,大家都知道传输数据需要联网状态,如果不判断当前设备是否处理联网状态而直接传送数据,有可能会造成线程阻塞等这样那样的问题。所以我写了一个判断设备是否处于联网状态的方法。
/// <summary>
/// 测试系统是否联网/// </summary>
/// <returns></returns>
public static bool testIsHaveInternet()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://www.baidu.com");
// Add an Accept header for JSON format.
// 为JSON格式添加一个Accept报头
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync("api/products").Result; // Blocking call(阻塞调用)!
if (response.IsSuccessStatusCode)
{
return true;
}
else
{
return false;
}
}