如何配置android仿真器,以便服务器应用程序监听10.0.2.15而不是192.168.xx.xx?

问题描述 投票:0回答:1

对于服务器应用程序,我的意思是kWS或Tiny Web服务器。


我正在尝试完全理解Android Emulator's virtual routing setup,以便希望将来我能够使用模拟器测试联网的应用程序。

例如,我遵循链接指南的“互连仿真器实例”部分:

  • A是我的开发机器
  • B是我的第一个仿真器实例,在A上运行

[我看到我可以在模拟器B的浏览器中打开10.0.2.2,以访问在A上运行的服务器。

[我还看到我可以远程登录到仿真器B,以设置重传规则,以便可以将对A的请求路由到仿真器B。


但是,当尝试从A连接到在模拟器B上运行的服务器时,

我意识到我无法启动安装到模拟器B的服务器应用程序,并使它们无法收听10.0.2.15。

结果,我无法测试并确保我的redir规则正常工作。

这是Android AVD模拟器的预期行为吗?还是我错过了什么?

无论模拟器的以太网IP如何,我都必须开发自己的应用程序才能收听10.0.2.15,并使用从A到B的重传规则进行测试?

或者是否有一种方法可以通过将模拟器B配置为在adb shell的ifconfig(wlan0)中而不是192.168.xx.xx上显示10.0.2.15来启动类似kWS的服务器应用程序以监听10.0.2.15?


我的仿真器(B,C)都显示不同的IP地址,前缀为192.168.xx.xx(不同的子网,与我的本地LAN设置无关,也与A的物理/虚拟以太网适配器设置无关)。

任何见识将不胜感激;谢谢!

android android-emulator
1个回答
0
投票

我发现我可以使用“ adb forward”将请求转发到计算机A到仿真器B。来源:How to connect to a http server running in android emulator?

这样,我应该能够设置一个静态环境来测试两个仿真器实例之间的联网功能。每个都必须连接到A的端口才能转发到另一个。

仍然不确定这是最好的方法;我认为最好是能够在模拟器B的浏览器中键入10.0.2.15:port并访问其自己的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.