個人理解
forward:端口映射
將本地PC指定Port端口,映射到設備手機指定Port端口上.
以便解決 PC -> Phone 的訪問問題
PC 作為Client客戶端 可以任意訪問 Phone 上的 Server 服務器
參考例子
廣域網
啟動AirDroid APP - PC通過http://web.airdroid.com訪問
同局域網:
啟動AirDroid APP - PC直接訪問指定局域網網址
不同網段(不同局域網):
啟動AirDroid APP - 通過USB連接手機 -
adb forward tcp:8888 tcp:8888- 在PC上訪問 http://127.0.0.1:8888
reverse:反向代理
- Phone 無法訪問某個 第三方服務Server服務器
- PC 卻可以訪問該 第三方服務Server服務器
- Phone -> PC 通過PC來訪問 第三方服務Server服務器
參考例子
- 在設備上運行 - React Native 中文網
-
Android Tip: adb reverse | Grio Blog
$ adb reverse tcp:80 tcp:3000 To redirect your phone’s port 80 to your computer’s port 3000.
常用命令
adb forward --listadb forward --remove-alladb forward tcp:8888 tcp:8888
http://127.0.0.1:8888/
adb help
connect HOST[:PORT] connect to a device via TCP/IP [default port=5555]
disconnect [HOST[:PORT]]
disconnect from given TCP/IP device [default port=5555], or all
forward --list list all forward socket connections
forward [--no-rebind] LOCAL REMOTE
forward socket connection using:
tcp:<port> (<local> may be "tcp:0" to pick any open port隨機綁定本地能正常打開的端口)
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
forward --remove LOCAL remove specific forward socket connection
forward --remove-all remove all forward socket connections
ppp TTY [PARAMETER...] run PPP over USB
reverse --list list all reverse socket connections from device
reverse [--no-rebind] REMOTE LOCAL
reverse socket connection using:
tcp:<port> (<remote> may be "tcp:0" to pick any open port)
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
reverse --remove REMOTE remove specific reverse socket connection
reverse --remove-all remove all reverse socket connections from device
