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對等網絡)的資料
全部源碼: