对于网络连接,我使用 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();
}
});
}
但最终,App 仅在 Android 设备上运行,但在 iOS(设备/模拟器)上出现此错误:
Error connecting to the service protocol: HttpException: , uri = http://127.0.0.1:1024/ws
我尝试在没有 Connectivity
的情况下调用 Api
并且该应用程序运行良好,但它仅在 Android 中获取数据,对于 iOS 仍然存在问题。
同样,它发生在 Dart http
包中。
编辑 1:2019 年 9 月 25 日
这和code无关!
问题是系统WiFi连接。
当您遇到此问题时,请使用此临时解决方案,直到提供完整的解决方案:
最佳答案
只需将您的设备与您的 IDE 重新连接并重新启动您的 IDE,然后它就可以工作了。
关于android - Flutter 在 iOS 设备上出现 'Error connecting to the service protocol: HttpException...' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53933251/
相关文章:
android - 访问本地主机 :port from Android emulator
flutter - 如何在正文中折叠带有多个选项卡的主 AppBar
dart - NestedScrollView 和 CustomScrollView 有什么区别?
dart - 在 Flutter 中保持 ScrollView 偏移的同时添加 ListView 项
firebase - Firestore 事务失败,出现 "Transaction failed a
dart - Flutter:如果 View 已被处理,如何防止横幅广告显示
flutter - 如何使用 tabBar 实现 sliverAppBar
firebase - Flutter 和 Firestore 在请求中没有用户信息