近期一个项目中需要使用多任务同时向一个udp套接字发送数据,上位机使用网络调试助手接收数据。
发送数据长度14个字节,每个任务发送10000次,因此理论上上位机应该收到280000个字节。
但是实际测试时发现如下问题:
当两个任务通过udp发送数据的周期小于4ms时,上位机调试助手收到的字节数小于28万。
问题分析:
开始以为是没有将套接字的sendto函数进行互斥保护,结果查资料发现sendto函数是不需要进行互斥保护的。
后来突然想到会不会是网络调试助手接收后显示不过来,于是将网络调试助手的输出打印转向文件,结果发现接收的字节数能够达到28万了,且收到的数据也正确。
总结:
使用网络调试助手需谨慎,建议网络数据使用wireshark进行抓包检查,提高可靠性。