ZBLOG

void processData(const QByteArray& data) { buffer.append(data); // 将接收到的数据追加到缓冲区 qDebug()

根据你提供的代码和错误信息,看起来buffer中的数据不是符合预期的格式。从输出来看,buffer包含了一些类似路径和文件名的字符串,而不是预期的二进制数据。

请确保在调用processData函数之前,将接收到的原始二进制数据正确地传递给该函数。如果你使用了Qt网络库进行通信,可以通过QIODevice::readyRead()信号获取到原始数据,并将其传递给processData函数。

例如,在你的网络读取槽函数中可以这样处理:

void YourNetworkClass::onReadyRead()
{
    QByteArray data = socket->readAll(); // 或者使用其他方法读取数据
    processData(data);
}

确保在传递给processData函数之前,data变量中包含了正确的原始二进制数据。

另外,请注意确保缓冲区大小符合实际情况。在这个例子中,你假设每个完整包都是10字节长度(头部2字节+长度2字节+有效数据6字节)。如果实际情况与此不同,请相应调整条件判断和提取完整包的方式。

如果问题仍然存在,请提供更多关于如何接收原始二进制数据以及完整的处理逻辑代码,以便我能够更好地帮助你。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17814

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?