web-dev-qa-db-ja.com

iOSデバイスで「サービスプロトコルへの接続エラー:HttpException ...」エラーが発生します

ネットワーク接続にはdioを使用し、Connectivityから接続状態をチェックします。

そして、ここでネットワークの状態を確認します。

@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メソッド:

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

しかし、最終的に、アプリはAndroid device but iOS(Device/Simulator)でこのエラーが発生します:

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

ApiなしでConnectivityを呼び出そうとしましたが、アプリは同じように動作しますが、データを取得するのはAndroidで、iOSにはまだ問題があります。

あまりにも、Dart http パッケージ 。


編集1:2019年9月25日

This has nothing to do WiFi the code!

The problem is the system WiFi connection.

この問題に直面したとき、完全な解決策が提供されるまでこの一時的な解決策を使用してください。

  1. システムのWiFiを切断する
  2. 電話を外します
  3. システムをWiFiに再接続します
  4. 電話をつなぐ
  5. アプリケーションを実行する
10
Saeid

IDE)でデバイスを再接続し、IDEを再起動してください。この後、動作します。

2
Osman

API 29の代わりにAndroid API 28を使用します。

それは私のために働いた。

1
Evandro Pomatti

flutter cleanコマンドを実行すると、以前のビルドが削除されます。次に、try flutter runコマンドを実行します

0
dhanasekar

Macからネットワークを共有している場合は、無効にします。それは私のために働いた。

0
Sreekuttan

同じ問題があります。それが起こるとき、私はiPhoneのプラグを抜く/接続し、それは働き始めます。

0
dilip