Android 模拟器如何访问本地网络上的服务器?

How can Android Emulator reach server on local network?

我想连接到本地网络 (10.134.0.178:80) 上的服务器。我机器的ip地址是10.134.3.12,模拟器Wi-Fi的ip地址是192.168.232.2.

现在我发现您必须使用 10.0.2.2 连接到本地计算机上的服务器。但是服务器不在我的本地计算机上 运行 - 相反它是我 LAN 上的一个单独的实例。

我的本地计算机可以毫无问题地访问和 ping 服务器。模拟器没有,但模拟器可以访问互联网。所以我可以访问例如www.google.com.

如何连接模拟器和服务器?显示的 redirection rules only apply on port level. So how is this meant to be used? Other solutions only talk about a local server. Only one 正在谈论类似的情况,但这对我不起作用(无连接)

netsh interface portproxy add v4tov4 listenport=80 connectport=80 connectaddress=10.134.0.178

此外,我必须切换服务器实例(不同 ips/ports/addresses)。那么在这种情况下如何使用 Android 模拟器呢? Web 服务调用应该发送到哪个地址? 10.0.2.210.134.0.178?

嗯,好吧,您的 Android 应用程序应该连接到服务器的 address/port,就像在主机 运行 和 Android 模拟器上显示的那样。我的 LAN 上有一个 Web 服务器,我的模拟器可以直接访问它。首先在您的模拟器中将 Chrome 指向您 LAN 上的网络服务器(假设您在某处有一个服务器)——如果该服务器位于 10.134.0.178:80 上,则只需在您的 [=15 中输入 10.134.0.178 =] 地址栏。如果这不起作用,那么您需要查看是什么阻止了它 - 是否有任何重定向规则妨碍?

不知道是什么原因,但最有可能的是,服务器出现了时间问题。现在我可以连接到我的服务器而无需进一步更改!

有一件事对我仍然不起作用 ping,但它列在 Local networking limitations 下:

Depending on the environment, the emulator might not be able to support other protocols (such as ICMP, used for "ping"). Currently, the emulator does not support IGMP or multicast.