Node.js服务器能够成功连接到MySQL数据库并执行查询操作。但是,Flutter应用无法连接到Node.js服务器。
- 且Flutter的错误信息为:
Connection refused
可能有以下几种原因:
服务器地址配置错误:
- 如果你在真实的移动设备上运行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
。端口号问题:
- 确保Node.js服务器在9000端口上运行,没有被防火墙或其他安全软件阻止。
模拟器或真实设备的网络配置:
- 如果你在Android模拟器上运行Flutter应用,可以使用
10.0.2.2
代替127.0.0.1
,这是Android模拟器中的一个特殊地址,用于访问宿主机的localhost
。基于这些建议,首先修改你的Flutter应用中的服务器URL:
我这里是把原来的127.0.0.1换成10.0.2.2之后就成功连接上了