麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

Android “adb forward”端口映射

2024-04-29 21:00:56
字體:
來源:轉載
供稿:網友

簡析adb的端口映射功能,將PC端的某端口數據重定向到手機端的一個端口

================================================

曾經以為adb forward是個好東東,因為通過這個映射之后,在PC和設備之間就可以直接socket通信了。可現在終于發現,世界不是完美的。

Android Debug Bridge設計的目的,一是用來管理所有連接的設備;二是提供各種服務,供PC端有效的控制設備。主要包括三個部分:

1) ADB-server

運行在PC端,是一個始終在后臺運行的進程,作為與手機端交互的唯一接口。ADB-server處理ADB-client的請求,一部分請求無須與 設備交互,直接在PC本地完成;剩下的請求需要與設備端的adbd交互,ADB-server起到了一個switcher的作用。

2) ADB-client

運行在PC端,可以同時存在多個。每個ADB-client由用戶啟動,完成多種功能。其作用是與ADB-server交互,實現用戶請求的功能。

3) adbd

運行在設備端的常駐進程,同時只存在一個。作用是接收PC端的ADB-server發來的請求,并作出對應操作。

這三個可執行程序都是同一套代碼編譯出來的,位于<Android Source Dir>/system/core/adb/

ADB-client和ADB-server對應同一個可執行文件“adb(.exe)”,編譯時有-DADB_HOST=1宏。而adbd對應目 標設備上的可執行文件"adbd",編譯時的參數是-DADB_HOST=0。

.              P  C                                                                                    Device
--------------------------------------                                        -------------------------------------
[ADB-client]<----->[Port A:]                                         [:Port A']<------>[Program A]
[ADB-client]<----->[Port B:]ADB-server<----->adbd[:Port B']<------>[Program B]
[ADB-client]<----->[Port C:]                                         [:Port C']---------(empty)
.                               |<--------Android Debug Bridge---------->|

(這個圖實在是調不好了,不管了)

ADB提供了PC與設備交互的橋梁,結構上清晰明了。其中adb forward功能提供了端口映射,希望給用戶提供透明的socket通信。但可惜,這與真實的網絡socket有點區別。

在TCP網絡編程中,Client的Socket(C)如果調用Connect()成功,就說明已經和Server端的Socket(S)連接上, 可以通訊了。但是如果使用adb forward做端口映射,就不一樣了。端口映射的實質是,讓ADB-server作為一個switcher轉發ADB-client的數據包,送給 adbd,adbd再發給設備端的對應端口。因此一旦建立了映射,就相當于ADB-server開始監聽這個目標端口。而此時如果有C去嘗試 Connect這個端口,是一定會成功的,因為與C連接的是ADB-server,而非真正的設備上的目標程序。這就出現了,即使Connect()成 功,卻完全無法知道究竟是否成功連接到S。

因此,判斷真正連接成功的方法,只有輪詢收發握手數據包。程序中約定好事先做個交互:C發送一個數據包,等待S回復;C如果收到了S的回復包,說明 連通;如果接收超時,則認為沒有連通。在沒有連通的情況下,需要重新建立Socket,并Connect(),然后再嘗試握手。

 
原文地址:http://mandapeng.vip.zhourenjian.com/?p=7
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: h视频在线观看免费 | 一区二区视 | 亚洲精品一区二区三区在线看 | 精品亚洲午夜久久久久91 | 精品国产一区二区三区四区在线 | 精品国产91久久久久久久妲己 | 久草导航 | 国产无限资源在线观看 | 国产成人自拍视频在线观看 | 国产午夜精品在线 | 免费毛片电影 | 亚洲人成在线播放网站 | 日本在线播放一区二区三区 | 黄在线免费 | 草碰人人| 国产成人高清在线 | 九九热精品视频在线 | 91av久久 | 一区二区三区视频播放 | 欧美三级欧美成人高清www | 免费a级毛片永久免费 | 欧美成人精品一区二区男人小说 | 91中文字幕在线观看 | 91精品国产91久久久久久蜜臀 | 久久一区二区三区av | 国产91精品亚洲精品日韩已满 | 亚洲午夜天堂吃瓜在线 | 国产在线欧美日韩 | 欧美中文字幕一区二区三区亚洲 | 亚洲一区二区三区精品在线观看 | 欧美一级黄色网 | 久久精品无码一区二区三区 | 九九精品视频免费 | 国产精品剧情一区二区三区 | 国产乱淫av片免费观看 | 国产青草网 | 黄污免费网站 | 特级a欧美做爰片毛片 | 在线观看免费污视频 | 成人短视频在线观看 | fc2成人免费人成在线观看播放 |