web-dev-qa-db-fra.com

Flutter se produit «Erreur de connexion au protocole de service: HttpException ...» erreur sur l'appareil iOS

Pour la connexion réseau, j'utilise dio et pour vérifier l'état de la connexion depuis Connectivity.

Et ici, je vérifie l'état du réseau:

@override
 Widget build(BuildContext context) {

 bloc.checkConnectivity(Connectivity());

 return StreamBuilder(
    stream: bloc.getInitApp,
    builder: (context, AsyncSnapshot<InitApp> initApp) {
      if (initApp.hasData) {
        return prepareMain(initApp.data);
      } else {
        return Center(
          child: CircularProgressIndicator(),
        );
      }
    });
}

checkConnectivity méthode:

checkConnectivity(Connectivity _connectivity) {
 _connectivity.onConnectivityChanged.listen((ConnectivityResult result){
   if (result == ConnectivityResult.mobile ||
       result == ConnectivityResult.wifi) {
       fetchInitApp();
    }
   });
 }

Mais finalement, l'application ne fonctionne que sur Android mais sur iOS (appareil/simulateur) se produit cette erreur:

Error connecting to the service protocol: HttpException: , uri = http://127.0.0.1:1024/ws

J'ai essayé d'appeler Api sans Connectivity et l'application fonctionne aussi bien mais avec elle obtient des données juste en Android et pour iOS il y a toujours un problème.

Cela arrive aussi avec Dart http paquet .


Modifier 1:25 sept. 2019

This has nothing to do WiFi the code!

The problem is the system WiFi connection.

Lorsque vous rencontrez ce problème, utilisez cette solution temporaire jusqu'à ce qu'une solution complète soit fournie:

  1. Déconnectez le système WiFi
  2. Débranchez votre téléphone
  3. Reconnectez votre système au WiFi
  4. Branchez votre téléphone
  5. Exécutez l'application
10
Saeid

Reconnectez simplement votre appareil avec votre IDE et redémarrez également votre IDE, après cela, cela fonctionnera.

2
Osman

Utilisez Android API 28 au lieu de l'API 29.

Cela a fonctionné pour moi.

1
Evandro Pomatti

courir flutter clean commande- il supprime la version précédente. puis exécutez try flutter run commande

0
dhanasekar

Si vous partagez le réseau depuis votre Mac, désactivez-le. ça a marché pour moi.

0
Sreekuttan

J'ai le même problème. Lorsque cela se produit, je débranche/branche l'iPhone et il commence à fonctionner.

0
dilip