UDP读取数据缓冲区问题

2019-07-17 10:59发布

单片机做下位机,labview做上位机,采用UDP的通讯协议。
如果用串口调试助手向下位机发送读取数据的指令,能够一次性返回所有数据包。但在labview程序中,UDO读取函数每次只能读取一个数据包,导致需要循环读取,但循环到一定次数后labview程序直接卡住了,导致数据包无法完全读完。
分都给了,求大神指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
Malan21
1楼-- · 2019-07-18 07:39
gytzzbx 发表于 2018-7-16 16:04
这个好像没有影响,数据量大是数据包数目太大,单个包的数据量并不大

那可能是发送UDP包频率太快了,发送要加延时,同时接收也加延时
gytzzbx
2楼-- · 2019-07-18 08:05
Malan21 发表于 2018-7-16 16:35
那可能是发送UDP包频率太快了,发送要加延时,同时接收也加延时

可以通过增大缓冲区解决这个问题吗?
gytzzbx
3楼-- · 2019-07-18 09:59
Malan21 发表于 2018-7-16 16:35
那可能是发送UDP包频率太快了,发送要加延时,同时接收也加延时

加了延时之后,读数据包能读到3k+,但跟我一次实验数据估计产生1w+还有很大差距
gytzzbx
4楼-- · 2019-07-18 12:20
采用了比较蠢的办法,把UDP读取的数据存放在一个txt中,然后再从里面读取

一周热门 更多>