iproxy:安装usbmuxd库之后,就顺带安装了一个小工具iproxy ,可通过USB使用SSH连接iOS设备,执行命令行iproxy 8100 8100[MOU1] ,该工具会将设备上的端口号8100映射到电脑上的8100端口。
[MOU1]设备端口号
usbmuxd: 主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信,实现PC端和设备端的通信。苹果的iTunes, XCode,都直接或者间接地用到了这个服务。
WDA:WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备,可以启动、杀死应用,点击、滚动视图,或者确定页面展示是否正确。
adb forward: 实现PC与手机通过USB通信。
原理:
adb forward tcp:8888 tcp:9999
执行完该命令后,转发PC机8888端口的数据到手机的9999端口。
adb forward --list
C:`\Users\bian\Desktop>adb forward --list`
19301902614488
查看一下转发是否成功,只有通过USB成功连接了手机该命令才能成功
C:\Users\bian\Desktop>adb forward --list
19301902614488 tcp:8888 tcp:9999
可以看到转发成功,19301902614488是手机的设备id。 在PC端,adb forward创建了一个监听本机8888端口的server。通过adb 转发的数据,需要先发到8888端口,8888端口是约定好的,你也可以改成其他端口。netstat -a |findstr 8888查看8888端口的状态,我的执行如果如下:
C:\Users\bian\Desktop>netstat -a |findstr 8888
TCP 127.0.0.1:8888 LAPTOP-NUFGH0MD:0 LISTENING
可以看到本地的8888端口是处理LISTENING状态的
确认了转发成功后,PC机作为Client端,手机作为Server端建立Socket连接,就可以进行通信了。
adb forward --remove tcp:8888 在通信完毕后,停止转发。再次使用adb forward --list看不到连接就是移除成功。
adbd: 在adb中有三个模块,分别是adbd,adb server,adb client,如下表所示:
module name | process name | run as |
---|---|---|
adbd | adbd | device/emulator |
adb server | Windows: adb.exe Linux: adb |
client |
adb client | such as eclipse, screencast, ddm app…and so on |
client |
网友评论