Flutter模拟器无法连接本地Node.js服务器问题求助
Flutter模拟器连接Node.js API被拒绝的解决方案
核心问题原因
模拟器环境中的127.0.0.1指向模拟器自身,而非运行Node.js服务的本地主机,因此模拟器无法通过该地址访问主机上的API接口。
具体解决步骤
1. 替换请求地址为本地主机局域网IP
- 查看电脑的局域网IP:Windows系统执行
ipconfig,Mac/Linux系统执行ifconfig或ip addr,获取类似192.168.x.x格式的地址。 - 修改Flutter代码中的API请求地址,将
https://127.0.0.1:5433/users替换为http://[你的局域网IP]:5433/users(注意:若Node.js服务未配置HTTPS证书,请勿使用https协议)。
2. 调整Node.js服务监听地址
- 检查Node.js启动代码,确保服务监听
0.0.0.0而非127.0.0.1,这样服务才能被局域网内设备访问:// 正确示例 app.listen(5433, '0.0.0.0', () => { console.log('Server running on port 5433'); }); - 若之前监听
127.0.0.1,服务仅能被本地主机访问,模拟器无法建立连接。
3. 检查防火墙规则
- 确认电脑防火墙未阻止5433端口的入站连接,可暂时关闭防火墙测试连接,验证通过后再添加该端口的放行规则。
4. 调整模拟器代理设置
- 若模拟器开启了代理功能,确认代理地址配置正确,或暂时关闭代理测试,避免代理拦截API请求。
额外验证步骤
将手机连接至与电脑相同的WiFi网络,在手机浏览器中访问http://[你的局域网IP]:5433/users,若能正常返回数据,说明服务本身无问题,再在Flutter应用中使用该地址测试即可。
内容的提问来源于stack exchange,提问作者Fidanlıoğlu Hakan
相关产品推荐
相关产品推荐

