나는 안드로이드 및 모바일 네트워크의 일부 기능을 테스트해야하는 프로젝트를 진행 중이다. 그들 중 하나 내가 먼저 신뢰성인터넷 연결의 신뢰성을 검사하는 테스트를 구현하는 방법
를 인터넷 연결 자체를 확인하고 확인해야 인터넷 연결의 신뢰성을 찾을 수있는 알고리즘 또는 라이브러리가 할 일은 인터넷 연결의 신뢰성을 확인하는 것입니다
나는 안드로이드 및 모바일 네트워크의 일부 기능을 테스트해야하는 프로젝트를 진행 중이다. 그들 중 하나 내가 먼저 신뢰성인터넷 연결의 신뢰성을 검사하는 테스트를 구현하는 방법
를 인터넷 연결 자체를 확인하고 확인해야 인터넷 연결의 신뢰성을 찾을 수있는 알고리즘 또는 라이브러리가 할 일은 인터넷 연결의 신뢰성을 확인하는 것입니다
아마도 알려진 사이트에 요청을 보내서 인터넷 연결이 안정적인지 확인하여 주어진 시간 내에 응답을받을 수 있는지 확인할 수 있습니다.
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;
}
시간을 5000으로 설정하면 5 초 이내에 다시 연결을 확인하거나 그 루프를 만들어야합니까? – Martin
인터넷 강도를 확인할 필요가있을 때마다이 메소드를 호출해야합니다. 타임 아웃이 다른 메소드를 호출해야하는 경우 항상 메소드 param으로 타임 아웃을 전달할 수 있습니다. – fluffyBatman
내가이 기존의 문제는 부분적으로 문제 http://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-times-out – Bhavesh
에 대답 할 수 있다고 생각 당신은 신뢰성에 의해 무엇을 의미합니까 ??? 기본 소켓 연결을 사용하여 정기적으로 인터넷 연결을 확인할 수 있다고 가정합니다. – Bhavesh
고맙습니다. 하지만 처음에는 인터넷 연결을 테스트했지만 그 다음에는 인터넷 연결 안정성을 테스트 할 필요가 있습니다. 연결은 안정적인지 아닌지. – Martin