mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
fix: big xml code
This commit is contained in:
@@ -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++;
|
||||
|
||||
Reference in New Issue
Block a user