使用 TCP 的模拟器连接
又嗨了! 我正在尝试连接在同一台 PC 上作为服务器和客户端运行的两个模拟器。问题是其中一个模拟器位于虚拟机内。每个模拟器应该使用什么地址才能在它们之间进行连接? 我正在使用基于 TCP 的连接! 第一个模拟器在 Windows 7 上运行 Vmware内的第二个是在Xp上 我的PC内网IP是192.168.71.1 如果您回答,我真的很感激。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想您想使用本地主机地址(127.0.0.1)。将服务器设置为侦听,一旦它启动并运行,就可以连接客户端,您就可以开始了。 (显然,请确保您使用的端口匹配。)
http://en.wikipedia.org/wiki/Localhost
I imagine you'd want to use the localhost address (127.0.0.1). Set the server up to listen and once it is up and running have the client connect and you should be good to go. (Make sure the port you use matches, obviously.)
http://en.wikipedia.org/wiki/Localhost
更多详细信息会有所帮助:
更新:一台计算机上有多个模拟器(无虚拟机)
您可以使用 /emulator -avd 从命令行启动另一个模拟器。您需要创建第二个 AVD 才能正常工作。我使用 Linux,因此无法提供 Windows 的确切详细信息。
更新:主机和虚拟机与Android模拟器之间的通信
我相信模拟器只侦听 127.0.0.1 的服务器套接字,因此远程计算机无法连接 - 对于它使用的调试套接字来说肯定是这种情况。不过,您可以使用使用 Android 模拟器进行远程调试
最好使用桥接网络,因为 NAT 会阻止虚拟机获取入站连接,因此模拟器将没有希望。
更新#2:端口转发
您可以使用 Android模拟器之间的通信,似乎有一个未记录的模拟器开关-shared-net-id 可以提供帮助。
希望这对
菲尔·莱洛有帮助
A few more details would help:
UPDATE: Multiple emulators on 1 machine (no VM)
You can launch another emulator from the command-line, using /emulator -avd . You'll need to create a second AVD for this to work. I use Linux, so can't give the exact details for Windows.
UPDATE: Communication between main machine and VM with android emulator
I believe the emulator only listens on 127.0.0.1 for server sockets, so remote machines can't connect in - this is certainly the case for the debug sockets it uses. However, you can set up port forwarding using a similar method discussed in Remote debugging with Android emulator
It's good that you're using bridged networking, as NAT would stop the VM getting inbound connections, so the emulator would have no hope.
UPDATE #2: Port forwarding
You can set up port forwarding between sockets on the local machine and on the emulator, using adb forward. It might also be worth looking at Communication between Android Emulators, there appears to be an undocumented emulator switch -shared-net-id that could help.
Hope this helps
Phil Lello