Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用TCP的仿真器连接_Android_Tcp_Ip_Emulation - Fatal编程技术网

Android 使用TCP的仿真器连接

Android 使用TCP的仿真器连接,android,tcp,ip,emulation,Android,Tcp,Ip,Emulation,又来了! 我正在尝试连接在同一台PC上作为服务器和客户端运行的两个模拟器。问题是其中一个位于虚拟机内。为了在它们之间连接,我应该为每个模拟器使用什么地址? 我正在使用基于TCP的连接! 第一个模拟器在Windows 7上运行 Vmware中的第二个在Xp上 我的电脑在网络中的IP是192.168.71.1 如果你能回答,我真的很感激。谢谢 我想您应该使用localhost地址(127.0.0.1)。将服务器设置为侦听,一旦它启动并运行,让客户端连接,您就可以开始了。(显然,请确保您使用的端口匹配

又来了! 我正在尝试连接在同一台PC上作为服务器和客户端运行的两个模拟器。问题是其中一个位于虚拟机内。为了在它们之间连接,我应该为每个模拟器使用什么地址? 我正在使用基于TCP的连接! 第一个模拟器在Windows 7上运行 Vmware中的第二个在Xp上 我的电脑在网络中的IP是192.168.71.1
如果你能回答,我真的很感激。谢谢

我想您应该使用localhost地址(127.0.0.1)。将服务器设置为侦听,一旦它启动并运行,让客户端连接,您就可以开始了。(显然,请确保您使用的端口匹配。)


更多的细节将有助于:

  • 虚拟机的IP地址是什么
  • 它是使用NAT、桥接网络还是什么
  • 你真的需要在虚拟机中运行第二个模拟器吗?这会使网络复杂化
更新:一台机器上有多个模拟器(无虚拟机) 您可以使用/emulator-avd从命令行启动另一个仿真器。您需要创建第二个AVD才能使其正常工作。我使用Linux,因此无法给出Windows的确切细节

更新:使用android emulator在主机和虚拟机之间进行通信 我相信emulator只在127.0.0.1上侦听服务器套接字,因此远程机器无法连接到中-对于它使用的调试套接字来说,情况确实如此。但是,您可以使用中讨论的类似方法设置端口转发

使用桥接网络是件好事,因为NAT会阻止VM获得入站连接,因此模拟器将没有希望

更新#2:端口转发 您可以使用在本地计算机和仿真器上的套接字之间设置端口转发。这可能也值得一看,似乎有一个未记录的仿真器交换机共享网络id可能会有所帮助

希望这有帮助


Phil Lello

最好编辑5小时前的原始帖子(),而不是添加更多细节的新问题。是的,正在使用NAT。不,不一定要在VM中运行第二个模拟器,但另一种方式是?因为我只有一台PC…我可以在一个环境中运行两个模拟器吗?如果可以,怎么做?谢谢,我的连接是桥。但我很有兴趣了解如何在同一台机器上有两个模拟器:)我将把我的评论作为原始答案的更新发布。。。注释中没有足够的空间/格式。假设我在一台机器(没有VM)内运行两个模拟器,我应该使用什么地址?我知道每个模拟器都位于不同的虚拟路由器后面。我已再次更新,现在提供了有关端口转发和共享网络id的详细信息,这应该将两个模拟器放在同一虚拟网络上。