您好,我们一直在用Ch34x芯片,并且应用在 安卓OTG 与我们的设备 进行通信。
之前一直很稳定,因为 我们的协议帧 长度固定10字节 or 130字节,后面 我们 在其它项目中,发出 不定长的数据,发现一个异常情况;
场景背景如下:
1.android 代码 我们目前 不是直接用的 sdk
2.我们有个线程 在读取 数据,我们的buffer,usbdata 长度为1024.
我们可以正常收发数据,并且在我们项目中验证了 3-4年都没问题。
现在 新情况为:我们新的项目中 与设备端 通信采用 非定长 协议(即 在协议中 约定帧长,动态解析),我们发现 当设备 发来32 字节的数据时,我们居然 收不到数据。 设备一直发32,一直收不到数据,直到 撑满1024的buffer,才一股脑的 从安卓底层上传数据上来。
针对此情况,我将接收buffer 长度调成 32字节,此时可以兼容此情况。但是 依旧存在一个问题:当设备端 发来 200+ 数据时,此时 铁定丢包。
请问有没有好的解决办法