2011-04-28 3 views

Respuesta

9

Aquí hay un ejemplo sincrónico. Probablemente quiera hacer esto de forma asíncrona, pero esto lo ayudará a pasar un control rápido.

Reachability *netReach = [Reachability reachabilityWithHostName:@"host.name"]; 
//return [netReach currentReachabilityStatus]; 
NetworkStatus netStatus = [netReach currentReachabilityStatus]; 
if (netStatus==ReachableViaWiFi) { 
    [ViewManager showStatus:@"Reachable (WiFi)!"]; 
} else if(netStatus==ReachableViaWWAN) { 
    [ViewManager showStatus:@"Reachable (WWAN)!"]; 
} else { 
    [ViewManager showStatus:@"Not reachable, aww :-("]; 
} 

Al utilizar reachabilityWithHostName hay que recordar que esto es sólo el nombre de host , no debería haber ningún prefijo http: // o similares.

+0

nombre de host significa solo abc.com, ¿me equivoco? – dks1725

+0

Sí, eso es correcto. –

+0

ok gracias tengo – dks1725

0

Para comprobar la accesibilidad de su servidor a través del código de Apple (Accesibilidad), debe consultar sus métodos de utilidad de la siguiente manera;

+ (Reachability*) reachabilityWithHostName: (NSString*) hostName; 

Pero en mi opinión voy a comprobar la accesibilidad de combinación de otros factores primero (comprobar la conexión a Internet 3G/EDGE/Wi-Fi y luego verificar huésped deseada alcanzable) dentro de la misma instancia. Solo uno de los controles seguros dentro del método de actualización alcanzable en mi escenario.

else if (((netStatus == ReachableViaWiFi) || (netStatus == ReachableViaWWAN)) && connectionRequired == YES) 
{ 
     isInternetConAvailable = ([[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:kReachibility_ping_uri] 
                  cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20.0] delegate:self]) ? YES : NO; 
} 

Dónde kReachibility_ping_uri 'es la constante contiene el nombre de host, la clase accesibilidad publicará la notificación 'kReachabilityChangedNotification' cada vez que el cambio de la accesibilidad en el iPhone-cliente, al mismo tiempo que ha de realizar todas las alcanzabilidad verifica y actualiza tu estado de alcanzabilidad.

Si necesita el ejemplo, ¿cómo lo usé en mis aplicaciones? Déjeme saber que proporcionaré el código.

Cuestiones relacionadas