iPhone通过usb与windows实现通信
来源:互联网 发布:苹果网络锁怎么解除 编辑:程序博客网 时间:2024/06/01 15:17
之前没怎么接触过这方面知识,最近有个需求需要实现这方面功能。于是上网查找资料,写了个小程序,实现了iPhone端和windows端的互联通信,原理基本上是这样的:windows端运行一个叫做usbmuxd的多路复用守护进程,该进程的作用是建立本地端口和远程端口的转发,实现usb到tcp的转换服务。window端通过本地127.0.0.1:27015连接到usb,然后指定和iPhone进行通信的端口(例如2345)。同样,iPhone端也指定对应连接地址127.0.0.1:2345。根据相关usb协议,客户端将请求包发送到usbmuxd进程,通过usbmuxd转发到对方设备,实现tcp连接。实现过程如下:
1、安装服务
windows端首先要安装苹果公司提供的相关服务,才能实现通信功能。服务名称为:AppleApplicationSupport和AppleMobileDeviceSupport
2、协议内容
enum usbmuxd_result{
RESULT_OK = 0,
RESULT_BADCOMMAND = 1,
RESULT_BADDEV = 2,
RESULT_CONNREFUSED = 3,
//??
//??
RESULT_BADVERSION = 6,
};
enum usbmuxd_msgtype{
MESSAGE_RESULT = 1,
MESSAGE_CONNECT = 2,
MESSAGE_LISTEN = 3,
MESSAGE_DEVICE_ADD = 4,
MESSAGE_DEVICE_REMOVE = 5,
//??
//??
MESSAGE_PLIST = 8,
};
enum usbmuxd_header{
uint32_t length; // length of message, including header
uint32_t version; // protocol version
uint32_t message; // message type
uint32_t tag; // responses to this query will echo back
};
3、运行程序
windows端和iPhone分别运行客户端程序,指定ip地址和端口,就可以进行通信了
4、本人参考代码
window端:https://github.com/Polyfun/libimobiledevice-windows
iPhone端:https://github.com/rsms/peertalk
- iPhone通过usb与windows实现通信
- IPhone通过USB通信
- IPhone通过USB通信
- Windows与USB的通信
- PC端通过USB与wince通信
- Android通过USB与PC通信
- android通过USB与win7进行通信
- Android通过USB与PC通信
- stm32F437 与 me909 通过 usb 通信调试
- linux设备如何通过USB网络共享与手机通信(包含安卓手机以及iphone)
- 通过USB数据线实现Android端与PC端的通信
- 05 OrangePi通过usb线实现与pc端的网络通信
- PC与Android设备通过USB建立通信连接
- Android作为服务器与PC作为客户端通过USB通信
- Windows主机端与自定义USB HID设备通信详解
- Windows主机端与自定义USB HID设备通信详解
- Windows主机端与自定义USB HID设备通信详解
- Windows主机端与自定义USB HID设备通信详解
- B. Misha and Changing Handles
- 多线程开发之Semaphore
- Andorid学习(二)RelativeLayout布局LinearLayout布局
- 【C++】 引入一维数组的元素
- 项目经验——jboss 配置数据库连接池
- iPhone通过usb与windows实现通信
- SpringMVC概述
- 如何解析JSON数组,并只拿到其中的一个属性集
- java之学习多线程
- go语言Notepad++简易开发环境搭建(windows)
- 88. cdata , dtd
- 触摸事件UITouch的用法
- C++重载和多态,
- Java监听器