news 2026/8/27 12:13:04

记录Qt的UDP通信丢包问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
记录Qt的UDP通信丢包问题

记录Qt的UDP通信丢包问题

  • 记录Qt的UDP通信丢包问题
    • 1 问题
    • 2 问题可能原因
      • 2.1 接收数据后处理太慢(排除)
      • 2.2 接收缓冲区太小(原因所在)
    • 3 问题解决:使用socket不用Qt的QUdpSocket设置缓冲区。

记录Qt的UDP通信丢包问题

1 问题

设备通过UDP发送数据给上位机,上位机抓包软件发现数据都收到了,上位机QudpSocket代码层接收数据存入内存偶尔丢包。

发送大约2000帧1.6s,也就是1200帧/s。1帧1KB大小。也就是1200KB/s,也就是1MB+/s

2 问题可能原因

2.1 接收数据后处理太慢(排除)

因为数据处理耗时基本很低,最后简化到直接append到队列都会丢失

2.2 接收缓冲区太小(原因所在)

QUdpSocket无法设置缓冲区大小,这里我的显示为64KB。因此是数据发送太快。缓冲区太小。

//在创建socket后立即设置 udpSocket=new QUdpSocket(this);//设置接收缓冲区大小(根据数据量调整) qint64 bufferSize=1024*1024*4;//4MB udpSocket->setSocketOption(QAbstractSocket::ReceiveBufferSizeSocketOption,bufferSize);//检查实际设置的大小 qint64 actualSize=udpSocket->socketOption(QAbstractSocket::ReceiveBufferSizeSocketOption);qDebug()<<"Actual receive buffer size:"<<actualSize;

3 问题解决:使用socket不用Qt的QUdpSocket设置缓冲区。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 16:01:22

一文说清Keil中文注释乱码的字符集处理机制

深入理解Keil中文注释乱码&#xff1a;字符编码的“隐形战场”你有没有遇到过这样的场景&#xff1f;刚从同事那里拉下一份STM32驱动代码&#xff0c;满怀期待地在Keil里打开&#xff0c;结果满屏都是&#xff1a;// ģʼUART // ʹĬ一脸懵——这哪是注释&#xff0c;简直是加…

作者头像 李华
网站建设 2026/8/26 9:27:56

AD20输出Gerber文件设置:Altium Designer教程小白指南

AD20输出Gerber文件设置&#xff1a;从零开始的PCB打样实战指南 你是不是也经历过这样的时刻&#xff1f; 辛辛苦苦画完一块PCB&#xff0c;走线漂亮、电源干净、信号完整&#xff0c;DRC也全绿了——信心满满准备打样&#xff0c;结果工厂回你一句&#xff1a;“ 缺阻焊层 …

作者头像 李华
网站建设 2026/8/21 12:30:43

Allegro导出Gerber文件在电机控制器中的应用

从设计到制造&#xff1a;如何用Allegro精准导出电机控制器的Gerber文件在高性能电机控制系统中&#xff0c;PCB不仅是电路的载体&#xff0c;更是决定系统可靠性、散热效率和电磁兼容性的关键一环。而当我们完成了一块复杂的6层甚至8层板布局布线后&#xff0c;真正考验设计完…

作者头像 李华
网站建设 2026/8/21 12:20:28

下车乘客的规律 分析和挖掘

目录 一、模型的核心思想 二、具体操作步骤 三、典型应用场景 简单实例 总结 一、模型的核心思想 简单来说&#xff0c;这个模型基于一个假设&#xff1a;一个站点下车乘客的规律&#xff08;比例&#xff09;在相似的条件下&#xff08;如工作日、天气、时段&#xff09…

作者头像 李华
网站建设 2026/8/21 12:16:52

ES6模块化从零实现:模拟一个简易模块加载器

从零实现一个 ES6 模块加载器&#xff1a;深入理解模块化的底层运行机制你有没有想过&#xff0c;当你写下import { add } from ./math.js的时候&#xff0c;JavaScript 引擎到底做了什么&#xff1f;模块文件是如何被读取的&#xff1f;依赖关系是怎么解析的&#xff1f;为什么…

作者头像 李华
网站建设 2026/8/21 12:16:51

PyTorch-CUDA-v2.6镜像部署语音唤醒词检测模型可行性分析

PyTorch-CUDA-v2.6镜像部署语音唤醒词检测模型可行性分析 在智能音箱、车载语音助手和可穿戴设备日益普及的今天&#xff0c;用户对“随时唤醒”的语音交互体验提出了更高要求。这类系统必须在低功耗前提下持续监听环境声音&#xff0c;并在听到“Hey Siri”或“OK Google”等关…

作者头像 李华