为什么我的安卓模拟器无法连接到本地服务器?

4
我正在使用React Native开发一个应用程序,并使用node.js制作我的服务器。对于websocket连接,我使用socket.io。
问题是,如果我将应用程序安装到我的android设备和android模拟器上,只有我的android设备可以连接到我的本地服务器。它们都运行相同的代码。我检查了模拟器是否有活动的互联网连接。奇怪的是,我在模拟器中有另一个应用程序,使用相同的连接方法连接到同一台服务器而没有任何问题。
你们有任何想法为什么会出现这样的问题吗?

根据您提供的信息,很难给出答案。最佳猜测是检查Android中创建和处理两个应用程序中WebSocket连接的生命周期的类。也许其中存在一些细微差别导致了您的问题? - Varun Agarwal
我之前已经检查过了,一切都是一样的。我不明白为什么我可以使用同一个应用程序连接我的物理设备,但无法连接模拟器。 - ilkort
你是从应用程序使用计算机的IP地址连接吗?请查看此链接 https://developer.android.com/studio/run/emulator-networking 。文中提到,模拟器要使用 10.0.2.2 作为回环到 127.0.0.1 的代理,因为模拟器在与计算机隔离的环境中运行。 - Varun Agarwal
1个回答

1

Android模拟器内置IP地址,用于连接本地设备。

如果套接字在本地主机上运行,则需要在模拟器中使用IP地址10.0.2.2进行连接。


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