标题:qudpsocket丢包的问题
作者:foxgod
日期:2019-08-21 16:57
内容:
我使用qudpsocket发送大数据的时候,分包发送,每次发送16384字节,
while(1)
{
sendmessage();
msleep(1000)
} 如果这个延时为一秒,就没啥丢包,要是小于1S就丢包了,有什么别的办法解决这个吗,而且测试总是一包丢了
最怪的是,程序在QT编译器里面,怎么都是好的。msleep(200),程序也没问题。
一打包程序就出问题了,丢包,修改时间没1S,打包程序也是好的。这个有知道是怎么回事的吗,
大家每次发送多大的数据呢?如何解决丢包的呢???
#1 [foxgod 08-21 17:55]
问题解决了,我在触发readyRead的槽函数
里面while(m_udpSocket->hasPendingDatagrams())
修改为 if(m_udpSocket->hasPendingDatagrams())程序正常
自己写错了
#2 回 foxgod 的帖子 [suzhuorui 08-22 09:35]
foxgod:
问题解决了,我在触发readyRead的槽函数
里面while(m_udpSocket->hasPendingDatagrams())
修改为 if(m_udpSocket->hasPendingDatagrams())程序正常
自己写错了
卧槽,老哥,我是隔壁贴的,你这个解决了我的问题
但是我这又出来了一个问题就是 在我接收到的数据后有的会有乱码
#3 [liudianwu 08-22 16:16]
确切的说,按照帮助文档,应该是要while(udpSocket->hasPendingDatagrams())才对。
#4 回 suzhuorui 的帖子 [fsu0413 08-23 08:30]
suzhuorui:卧槽,老哥,我是隔壁贴的,你这个解决了我的问题
但是我这又出来了一个问题就是 在我接收到的数据后有的会有乱码
(2019-08-22 09:35)
data没清零
#5 回 fsu0413 的帖子 [hehui 08-26 07:55]
fsu0413:data没清零 (2019-08-23 08:30)
正解