Question

J'utilise les outils d'accessibilité normaux pour vérifier s'il y a une connexion Internet. Il fonctionne dans la plupart des cas, mais si je débranche le câble WAN au wifi routeur, pour une raison quelconque, il dit encore qu'il peut trouver l'hôte par wifi. Si je change l'adresse Web à quelque chose qui n'existe pas, il dit « L'Internet est en baisse », comme il se doit. Où est mon problème?

Exemple:

. Je le débranché « Internet par câble », mais téléphone connecté par wifi au routeur. Je cours avec cette ligne, la première fois pour ce domaine:

hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];

Résultat = host Aucun résultat (correct)

II. Je désactiver le WiFi dans le téléphone. Résultat = Host trouvé avec WWAN (correct)

III. Je wifi dans le activer téléphone. Résultat = hôte trouvé avec WIFI. (Pas correct, car le routeur est pas en ligne)

Était-ce utile?

La solution

Pour internet vérifier que j'envoie une requête http à un site (très probablement google.com) si elle ne retourne pas vrai, cela signifie pas internet. Cette affaire fonctionne même la connexion est si lent. Voici la méthode.

- (BOOL) connectedToInternet
{
    NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;
}

Autres conseils

Vous pouvez vouloir vérifier cette fil. Le code est connu joignabilité pour tester la connectivité uniquement avec votre routeur. Il devrait y avoir une notification pour la connectivité maintenant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top