React Native Android无法连接到WebSocket

ymdaylpp  于 2023-10-20  发布在  React
关注(0)|答案(3)|浏览(207)

虽然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",
}
plicqrtu

plicqrtu1#

android emulator的默认WebSocket端口如下,与web不同。

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

dgiusagp2#

@sib提到了正确的ip,但没有正确的原因。
在Android上需要www.example.com的原因10.0.2.2是,这是您通过Android模拟器访问本地主机的方式。参见Android Docs
在iOS Emulator上,您(不应该)得到错误,因为您在127.0.0.1上访问localhost,正如大多数人所预期的那样

xriantvc

xriantvc3#

我很高兴地告诉你,我已经找到了一个解决方案,为我工作!要解决此问题,您可以使用以下命令:
adb -s设备反向tcp:3000 tcp:3000
当您需要从Android设备访问计算机上运行的服务时,此命令非常有用。具体来说,它会将Android设备上的端口3000反转为计算机上的端口3000。
我希望这对你有帮助,如果你有任何进一步的问题或见解,请不要犹豫,分享它们。您的意见可能对其他遇到类似问题的人非常宝贵。

相关问题