WYJ开怪 2020-10-07 20:18 采纳率: 0%
浏览 81

QTcpSocket分块发送数据失败

dataHeader dhead;
                            QByteArray headBuffer,sendBuffer,dataBuffer;

                            dhead.cmd = ret.cmd;
                            dhead.datalength = ret.datalength;


                            headBuffer.resize(sizeof(dataHeader));
                            sendBuffer.resize(sizeof(ShowPersonResult));
                            dataBuffer.resize(4096);

                            memcpy(headBuffer.data(),&dhead,sizeof(dataHeader));
                            memcpy(sendBuffer.data(),&ret,sizeof(ShowPersonResult));

                            tcpSocket->write(headBuffer);
                            tcpSocket->write(sendBuffer);

                            timer.start(20);

                            long long datalen_temp = ret.datalen;
                            long long  sended_len = 0;
                            while (datalen_temp) {
                               if(datalen_temp>=4096)
                               {
                                   Student *ts = ret.vStudent+sended_len;
                                   memcpy(dataBuffer.data(),ts,4096);
                                   tcpSocket->write(dataBuffer.data());

                                   datalen_temp -= 4096;
                                   sended_len += 4096;
                               }
                               else
                               {
                                  memcpy(dataBuffer.data(),ret.vStudent+sended_len,datalen_temp);
                                  tcpSocket->write(dataBuffer.data()+sended_len,datalen_temp);

                                  datalen_temp = 0;
                               }

                            }

                            ui->ReadEdit->append("以发送`查看所有老师或学生用户`结果");
                        }

图片说明

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-10-08 14:40
    关注
    评论

报告相同问题?

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题