여기 내가 토론에 대한 매우 흥미로운 주제를 가지고 있거나 더 나은 접근 방법에 대한 제안이 필요하다고 말할 수 있습니다.먼저 확인해야 할 사항 - hostReachability 또는 netReachability?
여기 내 코드
내 코드에서+ (BOOL) isConnected
{
BOOL flag = TRUE;
if (![self isHostReachable])
{
flag = FALSE;
NSString* alertTitle= @"";
NSString* alertMessage= @"";
if (![self isInternetReachable])
{
alertTitle = @"Network unavailable";
alertMessage = @"We can't connect to the Internet. Check your settings/connection.";
}
else
{
alertTitle = @"Server not responding";
alertMessage = @"Server not responding at the moment. Please try again later. Sorry for inconvenience";
}
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:alertTitle
message:alertMessage
delegate:self
cancelButtonTitle:@"Close"
otherButtonTitles:nil];
[alert show];
}
return flag;
}
+ (BOOL) isInternetReachable
{
Reachability *netReachability = [Reachability reachabilityForInternetConnection];
NetworkStatus netSat = [netReachability currentReachabilityStatus];
return (!(netSat == NotReachable));
}
+ (BOOL) isHostReachable
{
Reachability *hostReachability = [Reachability reachabilityWithHostname: [Connection returnHostName]];
NetworkStatus netSat = [hostReachability currentReachabilityStatus];
return (!(netSat == NotReachable));
}
, 내가 데이터를 내 서버를 요청하기 전에 연결 상태를 확인하기 위해 "는, isConnected"메소드를 호출하는 데 사용됩니다.
이 메서드에서는 먼저 hostReachability를 확인합니다. 이 작업을 수행하는 내 생각은 계산 시간을 절약하는 것입니다.
- hostReachability가 true를 반환하면 netConnectivity도 true임을 나타냅니다 (확인할 필요 없음). 그래서 여기서 우리는 하나의 계산으로 끝난다.
- hostReachability가 false를 반환하면 net 연결에 대한 책임이 있는지 확인합니다. 따라서 두 가지 계산.
하지만 일반적으로 코드가 먼저 netConnectivity를 확인하고 ok 인 경우 hostReachability를 확인합니다.
그래서 대부분의 경우 두 가지 계산이 수행되는 방식과 대조됩니다.
더 나은 방법이라고 생각하는 것이 있으십니까?