• 4156阅读
  • 6回复

[提问]qudpsocket丢包的问题 [复制链接]

上一主题 下一主题
离线foxgod
 

只看楼主 倒序阅读 楼主  发表于: 2019-08-21
我使用qudpsocket发送大数据的时候,分包发送,每次发送16384字节,
  1. while(1)
  2. {
  3. sendmessage();
  4. msleep(1000)
  5. }
   如果这个延时为一秒,就没啥丢包,要是小于1S就丢包了,有什么别的办法解决这个吗,而且测试总是一包丢了
最怪的是,程序在QT编译器里面,怎么都是好的。msleep(200),程序也没问题
一打包程序就出问题了,丢包,修改时间没1S,打包程序也是好的。这个有知道是怎么回事的吗,
  大家每次发送多大的数据呢?如何解决丢包的呢???





离线foxgod

只看该作者 1楼 发表于: 2019-08-21
问题解决了,我在触发readyRead的槽函数
里面while(m_udpSocket->hasPendingDatagrams())
修改为 if(m_udpSocket->hasPendingDatagrams())程序正常
自己写错了
离线suzhuorui

只看该作者 2楼 发表于: 2019-08-22
回 foxgod 的帖子
foxgod:
问题解决了,我在触发readyRead的槽函数
里面while(m_udpSocket->hasPendingDatagrams())
修改为 if(m_udpSocket->hasPendingDatagrams())程序正常
自己写错了


卧槽,老哥,我是隔壁贴的,你这个解决了我的问题
但是我这又出来了一个问题就是   在我接收到的数据后有的会有乱码

离线liudianwu

只看该作者 3楼 发表于: 2019-08-22
确切的说,按照帮助文档,应该是要while(udpSocket->hasPendingDatagrams())才对。
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
在线fsu0413

只看该作者 4楼 发表于: 2019-08-23
回 suzhuorui 的帖子
suzhuorui:卧槽,老哥,我是隔壁贴的,你这个解决了我的问题[表情]
但是我这又出来了一个问题就是   在我接收到的数据后有的会有乱码
[图片]
 (2019-08-22 09:35) 

data没清零
离线hehui

只看该作者 5楼 发表于: 2019-08-26
回 fsu0413 的帖子
fsu0413:data没清零 (2019-08-23 08:30) 

正解
离线foxgod

只看该作者 6楼 发表于: 2019-09-06
回 liudianwu 的帖子
liudianwu:确切的说,按照帮助文档,应该是要while(udpSocket->hasPendingDatagrams())才对。 (2019-08-22 16:16) 

我现在有个问题,我启动了一个线程,每次接收消息然后分包发出去,但是假设一个13个包的数据,每次发送前4个包可以正常发出去,第五个包总是显示Unable to send a message这个是什么问题,我每次调用writeDatagram()函数发出去,然后msleep(200),
快速回复
限100 字节
 
上一个 下一个