내가 인터넷 연결을 확인하기 위해 앱 개발자 라이브러리에서 Reachability를 사용하는 코드는 다음과 같습니다 :라우터를 열린 상태로 유지하면서 모뎀을 닫을 때 인터넷 연결을 감지하는 방법은 무엇입니까?
+(BOOL)reachable {
Reachability *r = [Reachability reachabilityForInternetConnection];
NetworkStatus internetStatus = [r currentReachabilityStatus];
Reachability *r1 = [Reachability reachabilityForLocalWiFi];
NetworkStatus internetStatus1 = [r1 currentReachabilityStatus];
Reachability *r2 = [Reachability reachabilityWithHostName:FTPURL];
NetworkStatus internetStatus2 = [r2 currentReachabilityStatus];
DLog(@"%d,%d,%d",internetStatus,internetStatus1,internetStatus2);
if(internetStatus != NotReachable && internetStatus1 != NotReachable && internetStatus2 != NotReachable)
{
return YES;
}
return NO;
}
무선 랜을 사용할 수있는 경우, 세 가지 상태가 "연결 가능"으로 확신합니다. Wi-Fi를 수동으로 끄면 (네트워크 연결 플래그가 꺼짐) 세 가지 상태 모두가 "NOTReachable"입니다.
모뎀을 끄고 무선 라우터를 열어 두는 동안 (네트워크 연결 플래그가 켜짐). 인터넷에 접속할 수는 없지만 세 가지 상태는 모두 "도달 가능"상태입니다. 왜 이런 일이 일어나고이 UnReachable 상태를 어떻게 감지하는지 알고 싶습니다.
동일한 문제가 있습니다. 왜 그런지 찾아 냈습니까?! –