OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4436|回复: 7

疑问:lwip发送大数据给上位机

[复制链接]

15

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2017-7-18
在线时间
83 小时
发表于 2018-12-24 10:07:18 | 显示全部楼层 |阅读模式
有个疑问,麻烦一下大家了:
最近调试lwip的UDP程序,注意到一个问题,stm32将1800字节的数据发送给上位机(电脑上用的UDP软件是网络调试助手),网络调试助手没有显示任何数据。用wireshark抓包,看到所有数据都已经发送了。难道是调试助手的问题吗?请大家帮助一下啊,谢谢啦
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-12-25 09:56:43 | 显示全部楼层
wireshark抓到了的话,证明数据已经收到,确认一下端口号吧
回复 支持 反对

使用道具 举报

15

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2017-7-18
在线时间
83 小时
 楼主| 发表于 2018-12-25 10:46:19 | 显示全部楼层
HCHDaLeiGe 发表于 2018-12-25 09:56
wireshark抓到了的话,证明数据已经收到,确认一下端口号吧

谢谢回复。
之前的端口号是没有问题的,我要是发送少量的数据,就没有上述问题。
但是发送大量数据,例如1800字节,就会出现上位机收不到数据的现象。
请问这是怎么回事呢?
回复 支持 反对

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-12-25 11:39:14 | 显示全部楼层
hijkstra 发表于 2018-12-25 10:46
谢谢回复。
之前的端口号是没有问题的,我要是发送少量的数据,就没有上述问题。
但是发送大量数据,例 ...

netif->mtu=1500;

最大传输单元为1500,建议数据长度不要大于1472,还有28个字节IP头
回复 支持 反对

使用道具 举报

15

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2017-7-18
在线时间
83 小时
 楼主| 发表于 2018-12-25 13:26:11 | 显示全部楼层
HCHDaLeiGe 发表于 2018-12-25 11:39
netif->mtu=1500;

最大传输单元为1500,建议数据长度不要大于1472,还有28个字节IP头

lwip的UDP是不是一个报文只能发送少于1472字节?大于此数目的数据需要由用户控制分包发送。lwip不能够自动分包发送?

那为什么呢wireshark可以捕捉到stm32f429已经发送了全部的1854字节数据呢?
在wireshark看到发送的报文里面,将1854字节分成了长度1514和416两个报文。

麻烦您了
回复 支持 反对

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-12-25 13:33:00 | 显示全部楼层
hijkstra 发表于 2018-12-25 13:26
lwip的UDP是不是一个报文只能发送少于1472字节?大于此数目的数据需要由用户控制分包发送。lwip不能够自 ...

稍等,我用wireshark抓一下看看
回复 支持 反对

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-12-25 14:06:01 | 显示全部楼层
hijkstra 发表于 2018-12-25 13:26
lwip的UDP是不是一个报文只能发送少于1472字节?大于此数目的数据需要由用户控制分包发送。lwip不能够自 ...

我用wireshark抓了一下,确实是这样,网卡收到了,但是没有送到socket的端口去,我试了网络调试助手和其他接收软件,都是一样的结果,这一块我不太懂,帮不上什么忙了。不过,我猜应该跟mtu有关,先收到分包发送吧。
回复 支持 反对

使用道具 举报

15

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2017-7-18
在线时间
83 小时
 楼主| 发表于 2018-12-25 14:14:13 | 显示全部楼层
HCHDaLeiGe 发表于 2018-12-25 14:06
我用wireshark抓了一下,确实是这样,网卡收到了,但是没有送到socket的端口去,我试了网络调试助手和其 ...

好的,那我就暂时用分包发送的方式进行。
非常感谢您的帮助哈。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-14 04:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表