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

时间:2019-06-25 15:43:58

标签: flutter dart

当我点击登录时,使登录屏幕颤抖,显示错误“网络无法访问”。

我已更改了IP地址“ 10.0.2.2”,“ 8.7.7.7”,但不起作用。

“调试控制台” E / flutter(16082):[错误:flutter / lib / ui / ui_dart_state.cc(148)]未处理 异常:SocketException:连接失败 (操作系统错误:网络无法访问,errno = 101),地址= 10.0.2.2,端口= 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);
  }

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

就我而言,打开 wifi 并确保它已连接解决了问题。enter image description here

答案 2 :(得分:0)

我搜索了一些有关此问题和类似连接问题的线程。就我而言,有时连接有效,有时则拒绝工作。我用来解决此问题的过程如下:

打开cmd-> 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);
      }

答案 3 :(得分:0)

经过几个小时的挠头,在我的情况下,数据连接图标被错误地关闭,将各种数据流切割到 vm :~