CC3200 不是全双工的吗?sl_Send会刷掉sl_Recv底层正在接受的数据?急急急
时间:10-02
整理:3721RD
点击:
实验如下:
1、sl_Recv独立一个线程(阻塞接收),sl_Send独立一个线程(暂时不调用),上位机以最快的速度发送1M字节数据,sl_Recv收到完整的数据,速度达到差不多1MB/s;
2、sl_Recv独立一个线程(阻塞接收),sl_Send独立一个线程,上位机以最快的速度发送1M字节数据,sl_Send每10毫秒发送10个字节到上位机,发现sl_Recv接收到的数据不完整,只有700多KB,不固定有变动,但是没有完整接收全
3、sl_Recv(非塞接收)和sl_Send在同一个线程,上位机以最快的速度发送1M字节数据,sl_Recv每接收到一个包sl_Send就发送10个字节到上位机,,发现sl_Recv接收到的数据不完整,只有几百K,不固定变动。
以上实验是TCP服务端实验,sl_Recv缓冲16000字节,每次读取8K字节,读出来有可能不到8K,不固定,总之上位机以最快的速度发,上位机API的发送函数返回发送成功,没有失败过。这个实验证明CC3200不是全双工的,请教TI技术支持,对此是我实验哪里错?还是CC3200真不是全双工的?
请问这个问题解决了没,可否分享一下经验