最近做一個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;
}
}