flutter SocketException:连接失败(操作系统错误:无法访问网络,错误号= 101),地址= 10.0.2.2,端口= 80

kgsdhlau  于 2022-12-05  发布在  Flutter
关注(0)|答案(5)|浏览(698)

在flutter中创建登录屏幕,当我点击登录时,会出现错误“网络不可达”。
我已经更改了IP地址“10.0.2.2“,“8.7.7.7“但不起作用。

错误:

E/flutter (16082): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled 
Exception: SocketException: Connection failed 
(OS Error: Network is unreachable, errno = 101), address = 10.0.2.2, port = 80

代码:

TextEditingController user=new TextEditingController();
TextEditingController pass=new TextEditingController();

Future<List> _login() async{
  final response = await http.post("http://127.0.0.1/my_store/login.php", body: {
    "username": user.text,
    "password": pass.text,
   
  });

  print(response.body);
  }
kuuvgm7e

kuuvgm7e1#

在我的情况下,打开wifi并确保它是连接解决了这个问题。

bweufnob

bweufnob2#

如果你正在使用一个物理设备,请确保ip地址是你的计算机的ip。你可以通过在cmd中运行ipconfig来找到它。记住你必须连接到互联网才能拥有这个ip地址。

dgsult0t

dgsult0t3#

我已经搜索了一些关于这个和类似连接问题的线程。在我的情况下,有时连接工作,有时它拒绝工作。我用来解决这个问题的过程如下:

打开命令-〉ipconfig

the ip that is relevant for my solution
由于我使用的是Apache服务器,而且我有一个php文件来处理我在Flutter中发出的请求,所以我将url设置为以下内容:

String url="http://192.168.0.137/login.php"

在您的示例中,代码为

TextEditingController user=new TextEditingController();
    TextEditingController pass=new TextEditingController();

    Future<List> _login() async{
      final response = await http.post("http://<your_ipv4_of_ipconfig>/my_store/login.php", body: {
        "username": user.text,
        "password": pass.text,

      });

      print(response.body);
      }
9rnv2umw

9rnv2umw4#

经过许多小时的挠头,在我的情况下,这是数据连接图标被关闭的错误削减各种数据流到vm:~

ifsvaxew

ifsvaxew5#

关闭模拟器上的Wi-Fi帮助了我!

相关问题