From 5018130ea1b176a1ad3f42aaa50b3ea7927aa1df Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Sat, 1 Mar 2025 17:36:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96tcp=E5=8F=91=E9=80=81?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mainwindow.cpp | 71 +++++++++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 7a092e8..d530cf9 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -363,6 +363,7 @@ void MainWindow::OnButtonGroup(QAbstractButton * slot_btn) Tachometer *tachometer = new Tachometer(); tachometer->setWindowModality(Qt::ApplicationModal); tachometer->show(); + } } if(slot_btn != NULL && ui->pushButton_alarm->isChecked()){ @@ -483,54 +484,64 @@ void MainWindow::sendUpgradePackage(int slot) // 读取文件内容 QByteArray fileData = file.readAll(); int fileSize = fileData.size(); - qDebug() << "fileSize1" << fileSize; - fileSize = myHtonl(fileSize); - qDebug() << "fileSize2" << fileSize; + //fileSize = myHtonl(fileSize); + qDebug() << "fileSize" << fileSize <(&header), sizeof(PackageHead)); + //QByteArray packet(reinterpret_cast(&header), sizeof(PackageHead)); // 发送文件内容 - socket.write(packet); // 发送头部 + // socket.write(packet); // 发送头部 + // socket.waitForBytesWritten(); + + // QByteArray packet2(reinterpret_cast(&upgrade_car_req), sizeof(UpgradeCardReq)); + // socket.write(packet2); // 发送头部 + // socket.waitForBytesWritten(); + + // socket.write(fileData); // 发送文件数据 + // socket.waitForBytesWritten(); + //QByteArray send_buf; + char *send_buf = NULL; + send_buf = (char *)malloc(sizeof(PackageHead) + sizeof(UpgradeCardReq) + fileData.size() + 1); + memset(send_buf,0,sizeof(PackageHead) + sizeof(UpgradeCardReq) + fileData.size() + 1); + memcpy(send_buf, &header, sizeof(PackageHead)); + memcpy(send_buf + sizeof(PackageHead), &card_id, 1); + memcpy(send_buf + sizeof(PackageHead) + 1, fileData.data(), fileData.size()); + socket.write(send_buf); socket.waitForBytesWritten(); + // 发送头部 + // qDebug() << "File sent successfully"; + // // 等待服务器响应(根据需要处理响应) - QByteArray packet2(reinterpret_cast(&upgrade_car_req), sizeof(UpgradeCardReq)); - socket.write(packet2); // 发送头部 - socket.waitForBytesWritten(); - - socket.write(fileData); // 发送文件数据 - socket.waitForBytesWritten(); - - qDebug() << "File sent successfully"; - // 等待服务器响应(根据需要处理响应) - - if (socket.waitForReadyRead()) { - QByteArray response = socket.readAll(); - UpgradeRsp resp; - QByteArray byteArray = response.mid(sizeof(PackageHead)); - QDataStream stream(&byteArray, QIODevice::ReadOnly); - stream >> resp.code ; - if(resp.code == 1){ - QMessageBox::information(this, QStringLiteral("提示"), "上传成功!"); - } - qDebug() << "Server response: " << resp.code; - } + // if (socket.waitForReadyRead()) { + // QByteArray response = socket.readAll(); + // UpgradeRsp resp; + // QByteArray byteArray = response.mid(sizeof(PackageHead)); + // QDataStream stream(&byteArray, QIODevice::ReadOnly); + // stream >> resp.code ; + // if(resp.code == 1){ + // QMessageBox::information(this, QStringLiteral("提示"), "上传成功!"); + // } + // qDebug() << "Server response: " << resp.code; + // } // 关闭文件和连接 file.close(); socket.disconnectFromHost(); + if(send_buf != NULL) + free(send_buf); }