web-dev-qa-db-fra.com

Comment résoudre SocketException: échec de la recherche d'hôte: «www.xyz.com» (erreur du système d'exploitation: aucune adresse associée au nom d'hôte, errno = 7)

Chaque fois que j'essaie de faire un appel http après environ 20 secondes, j'obtiens dans la console l'erreur suivante:

E/flutter ( 8274): [ERROR:flutter/Shell/common/Shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 8274): SocketException: Failed Host lookup: 'flutter-project-xxxxx.firebaseio.com' (OS Error: No address associated with hostname, errno = 7)

Cette erreur se produit pour chaque méthode et chaque itinéraire que j'appelle via le package http de l'application.

Je développe une application Flutter sur Windows, en utilisant un appareil virtuel AVD de Android Studio.

Versions:

  http: ^0.12.0+1
  flutter: 1.0

Cas:

  1. Depuis la maison ou via le partage de connexion depuis mon téléphone: la connectivité fonctionne correctement sur chaque partie de l'appareil virtuel

  2. Depuis mon réseau de travail (derrière le pare-feu):

Seulement avec Android Web View, je peux naviguer sur Internet sans aucun problème (je peux même appeler la même URL, j'utilise dans le code et cela fonctionne). J'obtiens une erreur de connexion lorsque j'utilise n'importe quel autre application (Chrome, Google Play, ecc ...) dans le périphérique virtuel, et plus particulièrement la "SocketException", lors du test de mon application.

Quelle est la différence entre les appels provenant de cette application? Existe-t-il un moyen d'acheminer les appels de mon application de la même manière que ceux de la vue Web?

Merci!

14
David

Vérifiez si vous avez activé le travail hors ligne dans les paramètres de gradle. Fichier-> Paramètres -> Créer -> Outils de création -> Travail hors ligne

S'il est activé ou coché, décochez-le.

1
BATMAN_2008

Le problème survient essentiellement lorsque l'appareil tente d'accéder à des ressources Internet, pour corriger l'ajout au fichier AndroidManifest.xml @ Android/app/src.

1
Sachin Mishra
  • Assurez-vous que l'Internet est activé (à la fois sur le téléphone et le PC)
  • assurez-vous également que le serveur fonctionne correctement
  • vérifiez votre URL correctement
1
Nikita

Si vous obtenez cette erreur lors de l'utilisation du plugin flutter_socket_io, N'oubliez pas d'initialiser le socket, c'est-à-dire socketIO.init(); socketIO.connect(); avant d'essayer de vous y abonner. J'ai reçu la même erreur que celle indiquée ci-dessus lorsque je l'ai omise.

1
Balocodes

Vérifiez si le wifi est connecté ou non. Le mien a fonctionné après le redémarrage du wifi.

1
Farwa

En outre, il serait bon de regarder les "paramètres de proxy" à l'intérieur des "contrôles étendus" de l'émulateur.

La façon dont cela a fonctionné pour moi a été de changer pour utiliser le paramètre "Pas de proxy".

enter image description here

0
Nelson Pereira

Assurez-vous que votre appareil mobile ou émulateur est connecté à Internet

0
ephcue