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

React Native Android端WebSocket连接失败 Web端正常运行如何解决

问题根因

你遇到的错误核心是127.0.0.1为回环地址,不同运行环境指向的目标不一致:

  • Web端运行在开发机的浏览器中,127.0.0.1:8000指向的是开发机本地启动的WebSocket服务,所以连接正常
  • 安卓模拟器/实体安卓设备上运行RN应用时,127.0.0.1:8000指向的是安卓设备自身,而安卓设备本地并没有运行对应的WebSocket服务,所以会抛出连接失败错误。
排查修复步骤
  • 第一步:替换WebSocket连接地址
    • 如果你使用安卓模拟器调试:将连接地址中的127.0.0.1替换为10.0.2.2,这是安卓模拟器官方预留的、指向开发主机本地回环地址的特殊IP
    • 如果你使用实体安卓设备调试:确保设备和开发机连接同一个WiFi,查询开发机的局域网IP(Windows执行ipconfig,Mac/Linux执行ifconfig/ip addr,一般为192.168.x.xx格式),将连接地址替换为ws://[开发机局域网IP]:8000
  • 第二步:检查安卓端网络配置
    • 确认安卓项目AndroidManifest.xml中已添加网络权限:
      <uses-permission android:name="android.permission.INTERNET" />
      
    • 如果你使用未加密的ws协议而非wss协议,安卓9及以上版本默认禁止明文流量传输,需要在AndroidManifest.xml的application标签中添加明文流量许可配置:
      <application
        ...
        android:usesCleartextTraffic="true"
        ...
      >
      
  • 第三步:验证服务可访问性
    • 确保本地WebSocket服务绑定的是0.0.0.0而非仅127.0.0.1,否则外部设备无法访问该服务
    • 配置地址完成后,先在安卓设备的自带浏览器中输入替换后的IP+端口,确认可以正常访问服务,排除网络不通的问题
  • 第四步:排查环境干扰
    • 关闭开发机的防火墙,或者放行8000端口的入站规则
    • 关闭开发机和安卓设备上的代理、VPN工具,避免干扰局域网连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:27:01