两个Android模拟器之间通信的经验和疑问

1、安装调试过程

调试Android socket、udp通信时需要用两台手机,修改测试的时候在真机上安装软件比较花时间,而在模拟器上安装软件很快,可以提高调试效率。开始用AndroidStudio自带的AVD,速度慢且不稳定。从Genymotion官网下载带Virtualbox的Android模拟器安装软件,安装模拟器过程中安装Virtualbox。一开始按照缺省设置,模拟器有IP1、IP2、环路IP地址,A、B的IP1不同,A、B的IP2相同,两个模拟器用IP1做UDP通信,可以互通;做socket通信,连接失败,异常信息java.net.ConnectException:Connection refused。 用1个模拟器、1个真机试验,模拟器做客户端,真机做服务器端,连接成功;模拟器做服务器端,则失败。在网上搜到一个贴,写了用adb forward端口映射命令,将PC机端口影射到模拟器端口,但是没有效果。在CSDN提问区搜到一个问答帖,解答在virtualbox设置虚拟机网络2选择桥接。

模拟器网络--网卡2设置桥接网卡,再启动模拟器,其IP2和PC机的IP地址在一个网段,两个模拟器socket通信可以连接成功。virtualbox中模拟器设置截图如下:

模拟器安装Termux查看网络配置如下图:

转贴问答帖的解答:“Genymotion 网络配置https://blog.csdn.net/a06_kassadin/article/details/42237973” 

2、疑问

在模拟器网络的网卡2缺省设置时,为什么A、B UDP能互通,且在termux里面可以ping通对方。而socket连接不上?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值