Flutter在iOS设备上发生“连接服务协议错误:HttpException ...”错误

Sae*_*eid 11 android httpexception ios dart flutter

对于网络连接,我使用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(),
        );
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

checkConnectivity 方法:

checkConnectivity(Connectivity _connectivity) {
 _connectivity.onConnectivityChanged.listen((ConnectivityResult result){
   if (result == ConnectivityResult.mobile ||
       result == ConnectivityResult.wifi) {
       fetchInitApp();
    }
   });
 }
Run Code Online (Sandbox Code Playgroud)

但最终,App仅在Android设备上运行,但在iOS(Device / Simulator)上出现此错误:

Error connecting to the service protocol: HttpException: , uri = http://127.0.0.1:1024/ws
Run Code Online (Sandbox Code Playgroud)

我试过Api不带电话Connectivity,应用程序运行良好,但它只能在Android中获取数据,而对于iOS,仍然存在问题。

也是发生在Dart httppackage上。


编辑1:25 Sep 2019

This has nothing to do WiFi the code!

The problem is the system WiFi connection.

遇到此问题时,请使用此临时解决方案,直到提供完整的解决方案为止:

  1. 断开系统WiFi
  2. 拔下手机
  3. 重新将系统连接到WiFi
  4. 插入手机
  5. 运行应用程序

Osm*_*man 6

只需将您的设备与您的 IDE 重新连接并重新启动您的 IDE,此后它将工作。