udp通信,1秒钟最快能发多少个包?不连包的情况下

2019-12-11 18:19发布

我现在使用的平台是ZYNQ了,不是STM32了。但是使用的也是ucos,网络协议栈用的是uc tcpip。STM32的时候是用W5500来通信的。
ZYNQ上面用的是千兆网。
但是实际操作的时候发现好像速度还不如W5500啊。

说下我的情况,我是用UDP给上位机软件发数据包,一个数据包最大1000字节,一帧数据可能1-20KB。不停的连续发送。
不加延时的时候,一次发送17个1000字节的数据包,后面的几个会丢掉,可能是我缓冲区的设置问题,因为是非阻塞的。
然后我在网络助手里面看到发上来的数据,固定的能收到9个包,合计9000字节。

然后这9个包用了60ms的时间,这个时间也太长了吧。我每个发送加5ms的延时,也是差不多这个时间。因为是非阻塞的,底层是库也看不到。

所以我的疑惑是,是不是UDP包不能发得很频繁,好比1ms发一个UDP包。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
honami520
1楼-- · 2019-12-13 16:38
使用ucos加uc tcpip最后测试的结果是持续发送udp包,大概速度是400mbps。考虑到代码的开销,这个速度差不多了。
yerrmin
2楼-- · 2019-12-13 22:26
如果udp数据率超过80Mbps,对接收端的系统和软件都有要求了,有时候是能发出来,但接收端丢包。建议先用Wireshark作为参照,看有没有发出来
dellric
3楼-- · 2019-12-14 00:13
刚刚用INTEL的FPGA写了一个RMII的接口程序,由于时序控制原因,每秒发送40K个包,每个以太网包64字节。 仅供参考。
dellric
4楼-- · 2019-12-14 05:38
 精彩回答 2  元偷偷看……
zxq6
5楼-- · 2019-12-14 09:51
honami520 发表于 2019-5-15 16:17
使用ucos加uc tcpip最后测试的结果是持续发送udp包,大概速度是400mbps。考虑到代码的开销,这个速度差不多 ...

其实可以更高,只不过能够满足要求即可。zynq跑800M没有问题,另外就是对电脑性能也有要求,曾经p8400cpu,只能达到400m的速度,换i5,立马上800m多
cpumaker
6楼-- · 2019-12-14 14:47
本帖最后由 cpumaker 于 2019-5-15 19:56 编辑

实时性怎样?例如一个100字节的包,rtt时间能不能做到100us以内?

一周热门 更多>