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:
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
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!
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.
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.
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.
Vérifiez si le wifi est connecté ou non. Le mien a fonctionné après le redémarrage du wifi.
Assurez-vous que votre appareil mobile ou émulateur est connecté à Internet