【问题标题】:Can't connect to meteor backend from react native app at android device无法从 Android 设备上的本机应用程序连接到流星后端
【发布时间】:2016-12-23 02:46:29
【问题描述】:

我有一个流星 webapp,我需要从 react native 应用程序连接到它的后端。我设置了sdk,连接了我的android设备并运行react-native startreact-native run-android,应用程序被加载并且客户端工作,除了与流星的连接。我正在使用这个包https://github.com/inProgress-team/react-native-meteor 并尝试使用ws://192.168.xxx.xx.x(我的本地IP 地址)连接到我本地运行的meteor 后端Meteor.connect,但它没有连接。 我检查了 iptables,它们似乎很干净。什么可以阻止这种联系?我还能尝试或检查什么?我使用的是 Ubuntu 16.04。

【问题讨论】:

  • 你是否使用 adb reverse 命令从 android 设备连接到 localhost?
  • @TristanTzara,我的设置与您完全相同,并且有效。尝试在命令行上运行adb reverse tcp:8081 tcp:8081。如果您仍然遇到问题,请查看此链接(如果您还没有的话):facebook.github.io/react-native/docs/…。哦,只是观察一下,我什至没有运行react-native startcommand。只是react-native run-androidone。干杯!

标签: android meteor websocket react-native


【解决方案1】:

我遇到了同样的问题,发现对于 android 模拟器,你必须使用它映射到 localhost 而不是 localhost 的特定 IP:

ws://10.0.2.2:3000/websocket 而不是ws://localhost:3000/websocket

【讨论】:

    【解决方案2】:

    请在此处查看更新的示例代码库https://github.com/spencercarli/react-native-meteor-boilerplate

    如果您有防火墙,请确保流星应用程序正在运行并允许该端口。使用您的机器 IP 并连接到同一个接入点。请遵循 spencercarli 创建的上述结构。

    【讨论】:

      【解决方案3】:

      对于与流星服务器的 Android 连接,您必须检查运行流星服务器的机器的 IP,您可以通过运行命令 ifconfig(Linux Ubuntu)来执行此操作,然后在您的 Web 套接字 URL ws://IP 中使用此 IP :Meteorserverport/websocket 和你的 android 设备必须使用与你的机器连接的同一网络连接到互联网,例如 WIFI 只有这样它才会运行。注意:对于生产应用程序,这不是必需的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-09
        • 2022-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多