You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native安卓模拟器连接Express服务器网络问题求助

解决React Native模拟器连接Node.js-Express服务器的网络问题

嘿,这个问题我碰到过好多次了,核心原因其实很简单——模拟器里的localhost指向的是模拟器自身,不是你的电脑!这就是为什么你用localhost会报连接错误的原因,换成电脑本地IP就正常完全说得通。下面给你梳理清楚完整的解决步骤,包括安卓模拟器的特殊情况:

1. 替换请求地址为电脑本地IP

首先得找到你电脑在局域网内的本地IP:

  • Windows:打开命令提示符,输入ipconfig,在「无线局域网适配器WLAN」或「以太网适配器以太网」下找到IPv4地址(一般是192.168.x.x格式)
  • Mac/Linux:打开终端,输入ifconfig(Mac)或ip addr(Linux),找带有inet前缀的局域网IP(比如inet 192.168.1.105)

然后把你请求里的http://localhost:xxxx直接替换成http://你的本地IP:xxxx,比如你的服务器跑在3000端口,就写成http://192.168.1.105:3000。

2. 确保Express服务器允许局域网访问

光换地址还不够,得确认你的Express服务器不是只绑定了localhost——如果服务器只监听localhost,那只有你电脑本身能访问,模拟器是连不上的。

修改服务器启动代码,把监听地址改成0.0.0.0,这样服务器就能接收局域网内所有设备的请求:

app.listen(3000, '0.0.0.0', () => {
  console.log('服务器已启动,局域网可访问:http://你的本地IP:3000');
});

3. 安卓模拟器的额外注意事项

如果你用的是安卓模拟器,还有两个小细节要注意:

  • Android Studio自带模拟器:可以直接用预设的10.0.2.2代替你的电脑本地IP,这个地址是模拟器专门用来指向宿主机(你的电脑)的
  • Genymotion模拟器:则需要用10.0.3.2来指向你的电脑
  • 另外别忘了检查电脑的防火墙,确保服务器使用的端口(比如3000)没有被拦截,不然模拟器还是连不上。

快速验证方法

改完之后先在电脑浏览器里输入http://你的本地IP:3000,确认服务器能正常返回内容,再去模拟器里测试请求,基本就能解决问题啦!

内容的提问来源于stack exchange,提问作者Nada Ghanem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:13:06