way2888 发表于 2022-9-1 08:44:33

请教使用netxduo如何连续发送数据包

如果要连续发送100k的数据怎样才能以最快速度完成呢?好像没有发生完成通知回调,连续发送几包后就出错了,现在的做法是发送完1包就sleep 1个tick,这样就不出错,感觉这样效率不高,想了解群主的接近100m速度是如何测的呢?实际能做到1秒发送100m吗?

eric2013 发表于 2022-9-1 10:27:17

你的是tcp和udp,如果tcp,使用发送函数是不是没有判断返回值,如果返回成功,都是没问题的。

如果udp不行,得手动做简单应答才靠谱。

way2888 发表于 2022-9-1 10:48:10

eric2013 发表于 2022-9-1 10:27
你的是tcp和udp,如果tcp,使用发送函数是不是没有判断返回值,如果返回成功,都是没问题的。

如果udp不 ...

是tcp,使用了判返回值也不管用,不成功的,下次继续发送,结果接收到的数据大小不是想要发送文件的大小,不知道硬汉哥有没有测试过呢?

eric2013 发表于 2022-9-1 10:58:26

way2888 发表于 2022-9-1 10:48
是tcp,使用了判返回值也不管用,不成功的,下次继续发送,结果接收到的数据大小不是想要发送文件的大小 ...

我们的没有这种问题,有测试过丢包问题没,测试下。

测试STM32F429移植ThreadX NetX后ping 100万包的稳定性【耗时4小时25分钟通过】
https://www.armbbs.cn/forum.php?mod=viewthread&tid=99148&fromuid=58
(出处: 硬汉嵌入式论坛)

way2888 发表于 2022-9-1 17:26:33

找到原因了,主要是调用发送的任务比tcp任务高,所以要sleep阻塞一下才能继续发送下一包数据

gallop020142 发表于 2022-9-2 08:54:52

way2888 发表于 2022-9-1 17:26
找到原因了,主要是调用发送的任务比tcp任务高,所以要sleep阻塞一下才能继续发送下一包数据

发送函数里加个互斥锁?
页: [1]
查看完整版本: 请教使用netxduo如何连续发送数据包