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

用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日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?