【发布时间】:2019-04-30 12:34:37
【问题描述】:
我正在使用 React Native 开发一个应用程序,并使用 node.js 制作我的服务器。对于 websocket 连接,我使用 socket.io
问题是,如果我将应用程序安装到我的 android 设备和我的 android 模拟器,只有我的 android 设备可以连接到我的本地服务器。它们都运行相同的代码。我检查了一下,模拟器有一个活跃的互联网连接。奇怪的是我在模拟器中有另一个应用程序,它使用相同的连接方法连接到同一台服务器而没有任何问题。
你们知道为什么会出现这样的问题吗?
【问题讨论】:
-
根据您提供的信息很难回答。最好的猜测是检查 Android 中的
class,它创建和处理两个应用程序中编写的websocket连接的生命周期。也许它有轻微的差异导致您的问题? -
我之前确实检查过,一切都一样。我不明白在使用同一个应用程序时,我如何能够与我的物理设备建立连接,但不能与模拟器建立连接。
-
那么您是否使用计算机的 IP 地址从应用程序连接?看看这个developer.android.com/studio/run/emulator-networking。表示模拟器使用
10.0.2.2作为对127.0.0.1的环回,因为模拟器在使用代理与您的计算机隔离的环境中运行。
标签: javascript node.js react-native socket.io android-emulator