散财铜子 2022-11-02 09:59 采纳率: 100%
浏览 35
已结题

用udp协议给stm32h7发送大数据文件IP切片出错

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

  • 写回答

1条回答 默认 最新

  • qllaoda 2022-11-02 10:10
    关注

    你看一下是IP层切片的还是UDP层切片的,一般来说,IP层切片是要避免的,因为这种包一般无法通过路由器,而且一些嵌入式协议栈可能不支持,因为它会占据太多的RAM,在lwip的配置里应该禁用IP分片。
    用UDP发送的时候,应该避免一次发送超过MTU长度的数据
    从你的描述看,可能是被分成了多个UDP包,所以你在IP标头里才看不到偏移量之类的信息

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

    报告相同问题?

    问题事件

    • 系统已结题 11月10日
    • 已采纳回答 11月2日
    • 创建了问题 11月2日

    悬赏问题

    • ¥30 宾馆客房管理系统可视化
    • ¥15 java为什么这个按钮监听事件不触发
    • ¥20 unity打光没有照亮物体
    • ¥25 powershell如何拷贝1周前的文件
    • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
    • ¥15 关于#前端#的问题,请各位专家解答!
    • ¥15 最小生成树问题 Prim算法和Kruskal算法
    • ¥25 医院住院病人呼叫器设计
    • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
    • ¥20 C语言字符串不区分大小写字典排序相关问题