找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2348|回复: 6
打印 上一主题 下一主题
收起左侧

关于网口TCP协议发送超过1500字节问题

[复制链接]
跳转到指定楼层
楼主
ID:300727 发表于 2021-12-16 09:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的Lwip,在设备做为客户端连接服务器用MQTT协议进行数据发送时,小于1500字节的一包数据能正常运行,一旦发送一包数据字节超过1500字节,程序就死掉了。求助啊!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:313048 发表于 2021-12-16 11:45 | 只看该作者
lwip里的配置你应该认真看一下,是有最大数据发送配置的,不过一般发送多了应该会分包发送,你这程序挂掉应该是内存越界了
回复

使用道具 举报

板凳
ID:300727 发表于 2021-12-16 13:35 | 只看该作者
AUG 发表于 2021-12-16 11:45
lwip里的配置你应该认真看一下,是有最大数据发送配置的,不过一般发送多了应该会分包发送,你这程序挂掉应 ...

应该是 lwip发送完1500字节之后会清一遍缓存吗  怀疑是不是这个没有清掉  大佬知道是哪个函数清理的缓存吗
回复

使用道具 举报

地板
ID:313048 发表于 2021-12-16 14:10 | 只看该作者
wei762359599 发表于 2021-12-16 13:35
应该是 lwip发送完1500字节之后会清一遍缓存吗  怀疑是不是这个没有清掉  大佬知道是哪个函数清理的缓存 ...

你不用去怀疑lwip库的问题,如果超了它肯定会自己分包发的,你应该去怀疑你自己写的应用层是否有越界的问题,还有就是你给lwip分配的内存空间是否够,没准1500就是极限了呢?还有就是自己的堆栈设置是否合理。多方面原因找找,最后再去找lwip的问题,实在找不到可以换个lwip的版本试试。
回复

使用道具 举报

5#
ID:313048 发表于 2021-12-16 14:12 | 只看该作者
wei762359599 发表于 2021-12-16 13:35
应该是 lwip发送完1500字节之后会清一遍缓存吗  怀疑是不是这个没有清掉  大佬知道是哪个函数清理的缓存 ...

lwip库你如果是找的话太花时间了,仿真你要一层一层往下跑,它的应用全是指针,只能慢慢看,一下是找不出问题的。
回复

使用道具 举报

6#
ID:401564 发表于 2021-12-16 14:56 | 只看该作者
lwip没玩过
实在不行,换个PIC的18高端系列单片机,8K的内存,随便你玩
中端的也有3K多的
回复

使用道具 举报

7#
ID:313048 发表于 2021-12-16 15:00 | 只看该作者
Y_G_G 发表于 2021-12-16 14:56
lwip没玩过
实在不行,换个PIC的18高端系列单片机,8K的内存,随便你玩
中端的也有3K多的

应该不是单片机内存不够的问题,多半是他程序里内存越界了。lwip要跑起来至少都要好几K的内存呢。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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