赞
踩
先介绍以下iOS设备与Mac之间的通讯协议,虽然iOS设备是通过USB线连接到Mac机器上,但实际上Mac与iOS设备并不是直接通过usb协议进行通信的。
具体协议如下:
、
macOS上有一个名为usbmuxd的服务,即USB multiplexing daemon的英文缩写,作用是在USB协议上实现多路TCP连接。
iTunes和XCode这些工具本身并不直接与设备通信,而是连接到本地的socket文件/var/run/usbmuxd上,然后通过usbmuxd服务把请求翻译成usb协议发送给设备,设备端也有usbmuxd服务,会把usb协议翻译回TCP协议,然后转给iOS设备端的具体服务。
1.只要实现usbmuxd,无需macOS系统也能实现与设备的通信。
2.转发usbmuxd的TCP协议,可以实现不同机器之间的设备连接。
socat是一个Linux下的一个工具,其功能类似于加强版的netcat,能实现端口、socket、文件等之间的转发操作。在这里我们用这个工具实现本地socket与端口之间的转发。
macOS下使用brew install socat即可安装。
linux环境下各大主流系统的软件包管理也均可直接安装。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。