为什么127.0.0.1不能连接Flutter

85 阅读1分钟

Node.js服务器能够成功连接到MySQL数据库并执行查询操作。但是,Flutter应用无法连接到Node.js服务器。

  • 且Flutter的错误信息为:Connection refused

可能有以下几种原因:

  1. 服务器地址配置错误:

    • 如果你在真实的移动设备上运行Flutter应用,127.0.0.1指向的是移动设备本身,而不是你的电脑。你需要使用电脑的局域网IP地址。
    • 例如,你可以运行命令 ipconfig(在Windows上)或者 ifconfig(在macOS或Linux上)来找到你的电脑的局域网IP地址。假设你的电脑局域网IP是 192.168.1.100,你需要在Flutter应用中将请求地址改为 http://192.168.1.100:9000/register
  2. 端口号问题:

    • 确保Node.js服务器在9000端口上运行,没有被防火墙或其他安全软件阻止。
  3. 模拟器或真实设备的网络配置:

    • 如果你在Android模拟器上运行Flutter应用,可以使用 10.0.2.2 代替 127.0.0.1,这是Android模拟器中的一个特殊地址,用于访问宿主机的 localhost

基于这些建议,首先修改你的Flutter应用中的服务器URL:

我这里是把原来的127.0.0.1换成10.0.2.2之后就成功连接上了

联想截图_20240719143412.png