如何实施检查互联网连接可靠性的测试

问题描述:

我正在研究一个需要测试android和移动网络某些功能的项目。其中 一个是检查互联网连接的可靠性做,我应该首先检查网络连接本身,然后检查可靠性如何实施检查互联网连接可靠性的测试

是否有任何算法或库找出可靠性Internet连接的

+0

我认为这存在的问题可以部分回答您的问题http://*.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-times-out – Bhavesh

+0

你的可靠性是什么意思?我想你可以使用基本的套接字连接定期检查互联网连接。 – Bhavesh

+0

感谢sir 但正如我刚才所说我测试互联网连接,但然后我需要测试互联网连接的可靠性像:是连接可靠与否。 – Martin

也许你可以发送一个请求到一个已知的网站来检查互联网连接是否足够稳定,以便在给定时间内得到响应。

public boolean checkInternet(){ 
     ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
     if (netInfo != null && netInfo.isConnected()) 
       try { 
         URL url = new URL("http://www.google.com"); 
         HttpURLConnection urlc = (HttpURLConnection) url 
               .openConnection(); 
         urlc.setConnectTimeout(3000); 
         urlc.connect(); 
         if (urlc.getResponseCode() == 200) { 
           // Means response is available within 3 seconds 
           // So, return true or do something else. 
           return true; 
         } 
       } catch (MalformedURLException e1) { 
         // TODO Auto-generated catch block 
         e1.printStackTrace(); 
       } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
       } 
     return false; 
} 
+0

如果我把时间设置为5000,它会在5秒内再次检查连接,或者我需要为此创建一个循环? – Martin

+0

无论何时需要检查网络强度时,您都需要调用此方法。如果您需要使用不同的超时调用方法,则可以始终将超时作为方法参数传递。 – fluffyBatman