Xuedong 发表于 2016-12-3 11:29:13

关于protocolGetOnePacket的疑惑。

本帖最后由 Xuedong 于 2016-12-11 16:00 编辑

机智云协议中,从环形缓冲区获取一个完整包,是这样的:ret = gizProtocolGetOnePacket(&pRb, gizwitsProtocol.protocolBuf, &protocolLen);
从用gizProtocolGetOnePacket函数取包过程中,有没有可能缓冲区中正在填充数据,只有完整包的一部分数据的时候,函数取到的数据构不成一个完整包,但是此过程已修改了缓冲区的读指针,会有丢包的事情发生呢,还请看明白的朋友们帮忙解释一下,谢谢!

一阵风 发表于 2019-10-22 13:44:33

我看也是的,当缓冲区中数据不够一包时,就会被return 1丢弃的。读指针也被修改了。楼主搞定没,可以透漏下不

一阵风 发表于 2019-10-22 13:54:58

我看也是,当缓冲区中数据不够一包数据时,这时会return 1,那么数据就丢掉了,读指针也被修改了。这个怎么搞,楼主解决了吗,可否给看一下
页: [1]
查看完整版本: 关于protocolGetOnePacket的疑惑。