fix: big xml code

This commit is contained in:
semenov
2025-09-18 12:02:21 +03:00
parent bd1bcd4e71
commit a2375700b1
5 changed files with 141 additions and 47 deletions

View File

@@ -61,7 +61,7 @@ void SendSystem::sendFileBlock(QString path)
{
while(!file.atEnd())
{
QByteArray data = file.read(1025*250);
QByteArray data = file.read(sendFileBlockSize);
stream << data;
//socket->waitForBytesWritten(10);
@@ -78,35 +78,86 @@ void SendSystem::sendFileBlock(QString path)
void SendSystem::sendFileBlockByteArray(QByteArray array, PacketType packetType)
{
qDebug() << "sendFileBlockByteArray thread: " << QThread::currentThreadId();
// qDebug() << "sendFileBlockByteArray thread: " << QThread::currentThreadId();
// if(client->getClientType() == TypeClientAutorization::TYPE_QT_CLIENT ||
// client->getClientType() == TypeClientAutorization::TYPE_GUI)
// {
// QDataStream stream(socket);
// stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
// fileSize = array.size();
// if(fileSize == 0){
// Logger::instance().log(" WARNING! Zero size ",LogLevel::ERROR);
// return;
// }
// stream << packetType; //Отправляем тип блока
// stream << fileSize;
// stream << array;
// }
// else
// {
// sendPacketType(packetType);
// QByteArray message;
// int size = array.length();
// message.append(reinterpret_cast<char*>(&size), sizeof(int));
// socket->write(message);
// socket->write(array);
// }
if(client->getClientType() == TypeClientAutorization::TYPE_QT_CLIENT ||
client->getClientType() == TypeClientAutorization::TYPE_GUI)
client->getClientType() == TypeClientAutorization::TYPE_GUI)
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
fileSize = array.size();
quint64 size = array.size();
qint64 bytesSended = 0;
if(fileSize == 0){
Logger::instance().log(" WARNING! Zero size ",LogLevel::ERROR);
return;
}
if (size == 0)
{
Logger::instance().log(" WARNING! Zero size ",LogLevel::ERROR);
return;
}
stream << packetType; //Отправляем тип блока
stream << fileSize;
stream << array;
stream << packetType; //Отправляем тип блока
stream << size;
while (size > 0)
{
QByteArray chunk = array.mid(bytesSended,sendFileBlockSize);
stream << chunk;
bytesSended += chunk.length();
size -= bytesSended;
}
}
else
{
sendPacketType(packetType);
QByteArray message;
int size = array.length();
message.append(reinterpret_cast<char*>(&size), sizeof(int));
socket->write(message);
socket->write(array);
sendPacketType(packetType);
quint64 size = array.size();
qint64 bytesSended = 0;
if (size == 0)
{
Logger::instance().log(" WARNING! Zero size ",LogLevel::ERROR);
return;
}
QByteArray message;
message.append(reinterpret_cast<char*>(&size), sizeof(int));
socket->write(message);
while (size > 0)
{
QByteArray chunk = array.mid(bytesSended,sendFileBlockSize);
quint64 bytesSended = socket->write(chunk);
size -= bytesSended;
}
}
}
void SendSystem::sendVersion()
@@ -148,7 +199,7 @@ void SendSystem::sendFileBlockWithRename(QString path, QString newName)
if(file.open(QFile::ReadOnly)){
while(!file.atEnd()){
QByteArray data = file.read(1025*250);
QByteArray data = file.read(sendFileBlockSize);
stream << data;
socket->waitForBytesWritten();
countSend++;