关于AOA proxy 的源码分析

参考了下面的文章和源码,将源码的逻辑做下备忘

https://blog.csdn.net/lidec/article/details/54908174

https://blog.csdn.net/lidec/article/details/70395910


1.启动一个本地socket服务,监听8721
2.监听信号SIGUSR2,开启tickleUsbInventoryThread线程
3.初始化libusb库
4.开始一个timer定时器,每秒发一次ITIMER_REAL信号
5.循环尝试连接usb设备,根据标记位doUpdateUsbInventory来去连接


--8721端口的socket服务端

接收到一个client请求后,开启2个线程,recvThread,sendThread

sendThread每秒发送一个数据

--tickleUsbInventoryThread线程
设置doUpdateUsbInventory为1

--循环连接usb设备
if (doUpdateUsbInventory)
{
updateUsbInventory->connectDevice
1.获取手机device
2.connectTcpSocket连接本地socket,获取id
3.setupDroid 设置usb的endpoint
4.entry加入到链表中,entry保存有123的数据
5.初始化entry中的2个线程id,开启线程,用于从usb读取到数据并给socket,用于从socket读取数据并给usb
}

你可能感兴趣的:(android)