在使用电脑作为上位机,lwip的udp协议给stm32h7发送40k的文件时,发现IP层切片重组有问题。在使用wireshark抓包后发现40k的文件被切分成了每个1k的包进行发送,但是是每个包单独发送的,没有被正确的添加标识字段和标志位,分片偏移量。也就是相当于一个文件被当成了40个文件。
这种情况是什么原因呢?

用udp协议给stm32h7发送大数据文件IP切片出错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qllaoda 2022-11-02 10:10关注
你看一下是IP层切片的还是UDP层切片的,一般来说,IP层切片是要避免的,因为这种包一般无法通过路由器,而且一些嵌入式协议栈可能不支持,因为它会占据太多的RAM,在lwip的配置里应该禁用IP分片。
用UDP发送的时候,应该避免一次发送超过MTU长度的数据
从你的描述看,可能是被分成了多个UDP包,所以你在IP标头里才看不到偏移量之类的信息本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥30 宾馆客房管理系统可视化
- ¥15 java为什么这个按钮监听事件不触发
- ¥20 unity打光没有照亮物体
- ¥25 powershell如何拷贝1周前的文件
- ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
- ¥15 关于#前端#的问题,请各位专家解答!
- ¥15 最小生成树问题 Prim算法和Kruskal算法
- ¥25 医院住院病人呼叫器设计
- ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
- ¥20 C语言字符串不区分大小写字典排序相关问题