android模拟器和PC访问:
如果使用真机,就让开发机和真机处于同一网段内即可。
但模拟器和当前开发机是同一台物理电脑,但是模拟器是不能通过127.0.0.1这样的ip访问开发机的。
在模拟器环境下访问PC的IP:10.0.2.2
即:
- 模拟器上访问当前开发机IP: 10.0.2.2
- 当前开发机访问模拟器的ip,虽然是127.0.0.1,但是对应的端口需要先进行端口映射后才能访问:
telnet localhost 5554 【telnet到模拟器的5554端口,这个端口一般是虚拟机的端口,可以自己查看自己的虚拟机端口】
假如映射8088端口:
redir add tcp:8088:8088
这样访问本机的8088端口相当于访问了模拟器的8088端口了。
1.查看当前模拟器的端口:
所以这里,我的模拟器的端口是5555,而不是常见的5554,这里是值得注意的。
对了,如果出现:
这里,我换用了网络的连接方式:
这里改用了端口为常用的5554端口。
别紧张,我们先看看这个端口启用了没,上面adb devices中显示的是真实网络的ip,那个端口自然是启用的,这里的localhost是回环地址,看看回环地址的5555(模拟器)端口是否启用:
2.通过将虚拟机与电脑的ip映射,直接访问电脑本机地址访问手机的服务地址:
提示需要授权:
可以看到授权成功。
映射本地的8088端口到模拟器的8088端口:
这样就可以在pc上访问8088端口映射到手机上的8088端口。
映射完成端口后,现在跑一下程序telnet以下试试:
这句打印是程序里的这里:
总体框架:
实现下面的2个功能,就需要先实现URL路由模块。(具体代码看文末代码链接)
1.内置静态网页:
2.WIFI传图:
扩展/:常见的telnet后无回显字符的解决
telnet时你会发现此时光标闪烁但是无法键入任何命令,此时按下ctrl+]键:
更多可了解Android的Wi-Fi P2P对等网络)的资料
全部源码: