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

Tah*_*Ali 7 dart 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
Run Code Online (Sandbox Code Playgroud)

代码 :

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);
  }
Run Code Online (Sandbox Code Playgroud)

Zah*_*hra 12

就我而言,打开 wifi并确保其已连接解决了问题。在此输入图像描述


Dmi*_*nin 5

关闭模拟器上的 Wi-fi 对我有帮助!


Ant*_*ira 1

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

打开cmd -> ipconfig

与我的解决方案相关的 IP

由于我使用的是 Apache 服务器,并且我有一个 php 文件来处理我在 Flutter 中发出的请求,因此我将 url 设置为以下内容:

 String url="http://192.168.0.137/login.php"
Run Code Online (Sandbox Code Playgroud)

在你的情况下,代码是

    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);
      }
Run Code Online (Sandbox Code Playgroud)