如何与Android模拟器通信

时间:2017-02-07 11:43:02

标签: visual-studio xamarin xamarin.forms

我正在编写一个Xamarin Forms应用程序,我需要通过在主机操作系统(Windows)上运行的应用程序与它进行通信。

尝试使用套接字将UDP数据包从Windows发送到Android模拟器,但Xamarin Forms应用程序不接收任何数据。

模拟器和Windows之间的网络配置是什么?还有其他沟通方式吗?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。基本上,Android模拟器没有自己的网络接口,因此您必须使用adb转发所需的端口。

要将tcp端口转发到模拟器,请使用:

adb forward tcp:sourceport tcp:destport

例如,要将主机上的端口8000转发到模拟器上的端口8500,请使用:

adb forward tcp:8000 tcp:8500

要重定向UDP端口,请telnet到模拟器的端口(通常为5554),然后使用redir:

telnet localhost 5554
redir add udp:sourceport:destport

如下所述:http://www.iomem.com/archives/23-Redirecting-TCP-and-UDP-traffic-to-the-Android-emulator.html

答案 1 :(得分:0)

从模拟器名称来看,它看起来不像VS模拟器,但我可能错了。

如果您使用的是VS仿真器,则可以找到其IP和桌面计算机IP,如图所示。这里模拟器访问主机Windows上运行的网页,证明他们可以进行通信。

enter image description here