React Native Android 无法连接到 WebSocket

3
尽管Web实现可以工作,但Android模拟器以及我的设备无法连接到WebSocket。在抛出错误并断开连接的位置收到以下事件错误代码:
    connection error 
Event {
  "isTrusted": false,
  "message": "Failed to connect to /127.0.0.1:8000",
}
connection closed
Event {
  "isTrusted": false,
  "message": "Failed to connect to /127.0.0.1:8000",
}
3个回答

1

Android模拟器的默认WebSocket端口如下,与Web不同。

  android: "http://10.0.2.2:8000",
  web: "http://127.0.0.1:8000",

0

@sib提到了正确的IP地址,但没有正确的原因。

在Android上需要使用10.0.2.2的原因是这是通过Android模拟器访问本地主机的方式。请参见Android文档

在iOS模拟器上,您(不应该)会遇到此错误,因为您可以像大多数人预期的那样在127.0.0.1上访问本地主机。


感谢您的跟进,我越来越了解了! - sib

0
我很高兴地告诉你,我找到了一个对我有效的解决方案!要解决这个问题,你可以使用以下命令:
adb -s 设备名称 reverse tcp:3000 tcp:3000
当你需要从你的安卓设备访问在电脑上运行的服务时,这个命令非常有用。具体来说,它将你的安卓设备上的3000端口反向映射到电脑上的3000端口。
希望这对你有帮助,如果你有任何进一步的问题或见解,请毫不犹豫地分享。你的意见对其他遇到类似问题的人可能非常宝贵。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接