mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
feat: complete delay messages
This commit is contained in:
@@ -9,6 +9,7 @@ kanban-plugin: board
|
|||||||
- [ ] увеличить размер текста в окне обновлений
|
- [ ] увеличить размер текста в окне обновлений
|
||||||
- [ ] Нужен ли дополнительный выбор для загрузки с мат моделью или нет?
|
- [ ] Нужен ли дополнительный выбор для загрузки с мат моделью или нет?
|
||||||
- [ ] Делить по группам траэйнисы и инструкторы
|
- [ ] Делить по группам траэйнисы и инструкторы
|
||||||
|
- [ ] Проверить Максимальный объем пересылаемых позже сообщений
|
||||||
|
|
||||||
|
|
||||||
## bugs
|
## bugs
|
||||||
@@ -32,18 +33,17 @@ kanban-plugin: board
|
|||||||
## feature server
|
## feature server
|
||||||
|
|
||||||
- [ ] убрать clientMap из serverLMS Widget в мультитред сервер
|
- [ ] убрать clientMap из serverLMS Widget в мультитред сервер
|
||||||
- [ ] Различать, загружен клиент из Unity или нет, для возможности отправлять сообщения только Unity
|
|
||||||
- [ ] в ГУИ научится определять тип клиента при приеме сообщения
|
|
||||||
- [ ] Проверить Максимальный объем пересылаемых позже сообщений
|
|
||||||
|
|
||||||
|
|
||||||
## NOW
|
## NOW
|
||||||
|
|
||||||
- [ ] Если клиент не isUnity отправлять сообщение на позднюю отправку
|
|
||||||
|
|
||||||
|
|
||||||
## Complete
|
## Complete
|
||||||
|
|
||||||
|
- [ ] Различать, загружен клиент из Unity или нет, для возможности отправлять сообщения только Unity
|
||||||
|
- [ ] в ГУИ научится определять тип клиента при приеме сообщения
|
||||||
|
- [ ] Если клиент не isUnity отправлять сообщение на позднюю отправку
|
||||||
- [ ] свести позицию виджетов (что то не по центру) notify в оффлайн режиме смещен
|
- [ ] свести позицию виджетов (что то не по центру) notify в оффлайн режиме смещен
|
||||||
- [ ] ПЕРЕВЕСТИ все действия под операции и формировать процент ПРИ загрузке из них
|
- [ ] ПЕРЕВЕСТИ все действия под операции и формировать процент ПРИ загрузке из них
|
||||||
- [ ] При нажатии на кнопку обновить, менять надпись на Загрузка
|
- [ ] При нажатии на кнопку обновить, менять надпись на Загрузка
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public:
|
|||||||
Client(QString name, QString address, QString port,QObject *parent = nullptr):
|
Client(QString name, QString address, QString port,QObject *parent = nullptr):
|
||||||
login(""),
|
login(""),
|
||||||
ready(false),
|
ready(false),
|
||||||
TypeClient(TypeClientAutorization::TYPE_SIMPLE)
|
typeClient(TypeClientAutorization::TYPE_QT_CLIENT)
|
||||||
{
|
{
|
||||||
this->name = name;
|
this->name = name;
|
||||||
this->address = address;
|
this->address = address;
|
||||||
@@ -57,28 +57,31 @@ public:
|
|||||||
this->ready = ready;
|
this->ready = ready;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setUnity(bool flag)
|
void setUnity(TypeClientAutorization type)
|
||||||
{
|
{
|
||||||
isUnity = flag;
|
typeClient = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool getIsUnity()
|
TypeClientAutorization GETTYPE()
|
||||||
{
|
{
|
||||||
return isUnity;
|
return typeClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setTypeClient(TypeClientAutorization TypeClient)
|
void setTypeClient(TypeClientAutorization TypeClient)
|
||||||
{
|
{
|
||||||
this->TypeClient = TypeClient;
|
this->typeClient = TypeClient;
|
||||||
}
|
}
|
||||||
TypeClientAutorization getTypeClient()
|
TypeClientAutorization getTypeClient()
|
||||||
{
|
{
|
||||||
return TypeClient;
|
return typeClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
void changePackageResponse()
|
void changePackageResponse()
|
||||||
{
|
{
|
||||||
isUnity = !isUnity;
|
if (typeClient == TypeClientAutorization::TYPE_QT_CLIENT)
|
||||||
|
typeClient = TypeClientAutorization::TYPE_UNITY_CLIENT;
|
||||||
|
else if (typeClient == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
|
typeClient = TypeClientAutorization::TYPE_QT_CLIENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator == (Client* right)
|
bool operator == (Client* right)
|
||||||
@@ -105,8 +108,6 @@ public:
|
|||||||
return userType;
|
return userType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QString getId()
|
QString getId()
|
||||||
{
|
{
|
||||||
return id;
|
return id;
|
||||||
@@ -127,9 +128,8 @@ private:
|
|||||||
QString login;
|
QString login;
|
||||||
bool ready;
|
bool ready;
|
||||||
bool isLoggedIn;
|
bool isLoggedIn;
|
||||||
bool isUnity = false;
|
|
||||||
|
|
||||||
TypeClientAutorization TypeClient;
|
TypeClientAutorization typeClient;
|
||||||
UserType userType;
|
UserType userType;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,8 @@ struct SXmlAnswerTag
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum TypeClientAutorization{
|
enum TypeClientAutorization{
|
||||||
TYPE_SIMPLE = 0,
|
TYPE_QT_CLIENT = 0,
|
||||||
|
TYPE_UNITY_CLIENT = 1,
|
||||||
TYPE_GUI = 10
|
TYPE_GUI = 10
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -60,14 +60,14 @@ void ProcessParser::slot_read(ClientHandler *client, QByteArray array)
|
|||||||
}
|
}
|
||||||
else if(xmlReader.name() == "ListTasksAMM")
|
else if(xmlReader.name() == "ListTasksAMM")
|
||||||
{
|
{
|
||||||
if(client->getClient()->getIsUnity())
|
if(client->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{//Отчет по задаче АММ от Юнити-клиента
|
{//Отчет по задаче АММ от Юнити-клиента
|
||||||
clientUnityTaskAMMreport(xmlReader,client, array);
|
clientUnityTaskAMMreport(xmlReader,client, array);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(xmlReader.name() == "ListTasksFIM")
|
else if(xmlReader.name() == "ListTasksFIM")
|
||||||
{
|
{
|
||||||
if(client->getClient()->getIsUnity())
|
if(client->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{//Отчет по задаче FIM от Юнити-клиента
|
{//Отчет по задаче FIM от Юнити-клиента
|
||||||
clientUnityTaskFIMreport(xmlReader,client, array);
|
clientUnityTaskFIMreport(xmlReader,client, array);
|
||||||
}
|
}
|
||||||
@@ -518,8 +518,6 @@ void ProcessParser::clientNotify(QXmlStreamReader &xmlReader,ClientHandler *clie
|
|||||||
clientNotify.Code = value;
|
clientNotify.Code = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
processingSystem->processingClientNotify(client, clientNotify);
|
processingSystem->processingClientNotify(client, clientNotify);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,15 +10,7 @@ void ChatSystem::initialize(CommonClientHandler *commonClientHandler, DataParser
|
|||||||
this->commonClientHandler = commonClientHandler;
|
this->commonClientHandler = commonClientHandler;
|
||||||
this->dataParser = dataParser;
|
this->dataParser = dataParser;
|
||||||
this->clientsMap = clientsMap;
|
this->clientsMap = clientsMap;
|
||||||
clientNotSendedMessage = new QMap<QString,QStack<ClientMessage>*>;
|
clientNotSendedMessage = new QMap<QString,QQueue<ClientMessage>*>;
|
||||||
|
|
||||||
auto stack = new QStack<ClientMessage>;
|
|
||||||
auto clientMessage1 = ClientMessage("1-0","102-0","Сообщение 1");
|
|
||||||
stack->append(clientMessage1);
|
|
||||||
auto clientMessage2 = ClientMessage("1-0","102-0","Сообщение 2");
|
|
||||||
stack->append(clientMessage2);
|
|
||||||
|
|
||||||
clientNotSendedMessage->insert("102", stack);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ChatSystem::sendTo(ClientMessage message)
|
bool ChatSystem::sendTo(ClientMessage message)
|
||||||
@@ -26,16 +18,14 @@ bool ChatSystem::sendTo(ClientMessage message)
|
|||||||
QByteArray byteArrayMsg = dataParser->ClientAnswer()->message(message.From,message.To,message.Text);
|
QByteArray byteArrayMsg = dataParser->ClientAnswer()->message(message.From,message.To,message.Text);
|
||||||
|
|
||||||
auto result = message.To.split("-");
|
auto result = message.To.split("-");
|
||||||
//qt - инструктор
|
|
||||||
//qt - клиент нельзя
|
|
||||||
//unity - можно
|
|
||||||
foreach(int idSocket, clientsMap->keys())
|
foreach(int idSocket, clientsMap->keys())
|
||||||
{
|
{
|
||||||
ClientHandler *handler = clientsMap->value(idSocket);
|
ClientHandler *handler = clientsMap->value(idSocket);
|
||||||
QString userType = QString::number(static_cast<int>(handler->getClient()->getAccessType()));
|
QString userType = QString::number(static_cast<int>(handler->getClient()->getAccessType()));
|
||||||
|
|
||||||
if(handler->getClient()->getId() == result[0] &&
|
if(handler->getClient()->getId() == result[0] &&
|
||||||
userType == result[1])
|
userType == result[1] &&
|
||||||
|
handler->getClient()->getTypeClient() != TypeClientAutorization::TYPE_QT_CLIENT)
|
||||||
{
|
{
|
||||||
handler->sendXmlAnswer(byteArrayMsg, PacketType::TYPE_XMLANSWER);
|
handler->sendXmlAnswer(byteArrayMsg, PacketType::TYPE_XMLANSWER);
|
||||||
QString str = "Msg From Client [" + message.From + " to " + message.To + "] : " + message.Text;
|
QString str = "Msg From Client [" + message.From + " to " + message.To + "] : " + message.Text;
|
||||||
@@ -60,8 +50,8 @@ bool ChatSystem::sendMessage(ClientMessage message)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto stack = new QStack<ClientMessage>;
|
auto stack = new QQueue<ClientMessage>;
|
||||||
stack->append(message);
|
stack->enqueue(message);
|
||||||
clientNotSendedMessage->insert(message.To, stack);
|
clientNotSendedMessage->insert(message.To, stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,11 +66,11 @@ void ChatSystem::sendOldMessages(QString id)
|
|||||||
qDebug() << id;
|
qDebug() << id;
|
||||||
if (clientNotSendedMessage->contains(id))
|
if (clientNotSendedMessage->contains(id))
|
||||||
{
|
{
|
||||||
auto stack = clientNotSendedMessage->find(id).value();
|
auto queue = clientNotSendedMessage->find(id).value();
|
||||||
|
|
||||||
while (!stack->isEmpty())
|
while (!queue->isEmpty())
|
||||||
{
|
{
|
||||||
auto message = stack->pop();
|
auto message = queue->dequeue();
|
||||||
sendTo(message);
|
sendTo(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ private:
|
|||||||
CommonClientHandler *commonClientHandler;
|
CommonClientHandler *commonClientHandler;
|
||||||
DataParser *dataParser;
|
DataParser *dataParser;
|
||||||
QMap<int, ClientHandler*> *clientsMap;
|
QMap<int, ClientHandler*> *clientsMap;
|
||||||
QMap<QString,QStack<ClientMessage>*> *clientNotSendedMessage;
|
QMap<QString,QQueue<ClientMessage>*> *clientNotSendedMessage;
|
||||||
bool sendTo(ClientMessage message);
|
bool sendTo(ClientMessage message);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ void CommonClientHandler::slot_ListsInstructorsTraineesChanged()
|
|||||||
processingSystem->processingClientQueryToDB(handler, queryToDB);
|
processingSystem->processingClientQueryToDB(handler, queryToDB);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(handler->getClient()->getIsUnity())
|
if(handler->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
ClientQueryToDB queryToDB;
|
ClientQueryToDB queryToDB;
|
||||||
queryToDB.typeQuery = TypeQueryToDB::TYPE_QUERY_GET_CONTACT_LIST;
|
queryToDB.typeQuery = TypeQueryToDB::TYPE_QUERY_GET_CONTACT_LIST;
|
||||||
|
|||||||
@@ -528,7 +528,7 @@ void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotif
|
|||||||
else if(clientNotify.Code == commandStartTimerClient)
|
else if(clientNotify.Code == commandStartTimerClient)
|
||||||
{
|
{
|
||||||
//Фиксируем время входа Юнити-клиента
|
//Фиксируем время входа Юнити-клиента
|
||||||
if (client->getClient()->getIsUnity())
|
if (client->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
processingEntryUnityClient(client);
|
processingEntryUnityClient(client);
|
||||||
}
|
}
|
||||||
@@ -538,7 +538,7 @@ void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotif
|
|||||||
qDebug() << "processing thread: " << QThread::currentThreadId();
|
qDebug() << "processing thread: " << QThread::currentThreadId();
|
||||||
|
|
||||||
//Фиксируем время выхода Юнити-клиента
|
//Фиксируем время выхода Юнити-клиента
|
||||||
if (client->getClient()->getIsUnity())
|
if (client->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
processingExitUnityClient(client);
|
processingExitUnityClient(client);
|
||||||
}
|
}
|
||||||
@@ -670,7 +670,7 @@ void ProcessingSystem::sendTaskFIMToClient(ClientHandler *client, int id_trainee
|
|||||||
void ProcessingSystem::sendTaskListToUnity(ClientHandler *client)
|
void ProcessingSystem::sendTaskListToUnity(ClientHandler *client)
|
||||||
{
|
{
|
||||||
//Отправка списков задач клиенту Юнити
|
//Отправка списков задач клиенту Юнити
|
||||||
if(client->getClient()->getIsUnity())
|
if(client->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
QString login = client->getClient()->getLogin();
|
QString login = client->getClient()->getLogin();
|
||||||
int id_trainee = providerDBLMS->getIdTraineeByLogin(login);
|
int id_trainee = providerDBLMS->getIdTraineeByLogin(login);
|
||||||
@@ -697,7 +697,7 @@ ClientHandler *ProcessingSystem::getUnityClientById(int id)
|
|||||||
ClientHandler *handler = server->getClientsMap().value(idSocket);
|
ClientHandler *handler = server->getClientsMap().value(idSocket);
|
||||||
if(handler->getClient()->getLogin() == login)
|
if(handler->getClient()->getLogin() == login)
|
||||||
{
|
{
|
||||||
if(handler->getClient()->getIsUnity())
|
if(handler->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
return handler;
|
return handler;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ void RecognizeSystem::recognize()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(client->getIsUnity())
|
if(client->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
char *read = new char[4];
|
char *read = new char[4];
|
||||||
stream.readRawData(read,4);
|
stream.readRawData(read,4);
|
||||||
@@ -110,7 +110,7 @@ void RecognizeSystem::recognize()
|
|||||||
if (packetType == PacketType::TYPE_XMLANSWER)
|
if (packetType == PacketType::TYPE_XMLANSWER)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(clientHandler->getClient()->getIsUnity())
|
if(clientHandler->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
data = socket->readAll();
|
data = socket->readAll();
|
||||||
}
|
}
|
||||||
@@ -130,7 +130,7 @@ void RecognizeSystem::recognize()
|
|||||||
|
|
||||||
if(packetType == PacketType::TYPE_BIGXML)
|
if(packetType == PacketType::TYPE_BIGXML)
|
||||||
{
|
{
|
||||||
if (clientHandler->getClient()->getIsUnity())
|
if (clientHandler->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
char *readBuffer = new char[4];
|
char *readBuffer = new char[4];
|
||||||
socket->read(readBuffer,4);
|
socket->read(readBuffer,4);
|
||||||
@@ -183,7 +183,7 @@ void RecognizeSystem::recognize()
|
|||||||
|
|
||||||
if(packetType == PacketType::TYPE_FOLDER) //создание папок
|
if(packetType == PacketType::TYPE_FOLDER) //создание папок
|
||||||
{
|
{
|
||||||
if(client->getIsUnity())
|
if(client->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
filePath = socket->readAll();
|
filePath = socket->readAll();
|
||||||
filePath = Tools::createSharedPath(filePath);
|
filePath = Tools::createSharedPath(filePath);
|
||||||
@@ -215,7 +215,7 @@ void RecognizeSystem::recognize()
|
|||||||
if (packetType == PacketType::TYPE_FILE) //выгрузка одного файла
|
if (packetType == PacketType::TYPE_FILE) //выгрузка одного файла
|
||||||
{
|
{
|
||||||
|
|
||||||
if(client->getIsUnity())
|
if(client->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
DataInfo *currentFileData = updateController->getCurrentDataInfo();
|
DataInfo *currentFileData = updateController->getCurrentDataInfo();
|
||||||
filePath = currentFileData->path;
|
filePath = currentFileData->path;
|
||||||
@@ -443,13 +443,13 @@ void RecognizeSystem::packetTypeInit(PacketType packet,Client *client)
|
|||||||
{
|
{
|
||||||
if(packet == PacketType::TYPE_QT)
|
if(packet == PacketType::TYPE_QT)
|
||||||
{
|
{
|
||||||
client->setUnity(false);
|
client->setUnity(TypeClientAutorization::TYPE_QT_CLIENT);
|
||||||
|
|
||||||
qDebug() << "ConnectionType isUnity: " << client->getIsUnity();
|
qDebug() << "ConnectionType isUnity: " << client->GETTYPE();
|
||||||
}
|
}
|
||||||
else if (packet == PacketType::TYPE_UNITY)
|
else if (packet == PacketType::TYPE_UNITY)
|
||||||
{
|
{
|
||||||
client->setUnity(true);
|
client->setUnity(TypeClientAutorization::TYPE_UNITY_CLIENT);
|
||||||
//Фиксируем время входа Юнити-клиента
|
//Фиксируем время входа Юнити-клиента
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ void SendSystem::initialize(DataParser *dataParser,Logger *logger)
|
|||||||
void SendSystem::setClient(Client *client,QTcpSocket *socket)
|
void SendSystem::setClient(Client *client,QTcpSocket *socket)
|
||||||
{
|
{
|
||||||
this->socket = socket;
|
this->socket = socket;
|
||||||
this->isUnity = client->getIsUnity();
|
this->type = client->GETTYPE();
|
||||||
this->client = client;
|
this->client = client;
|
||||||
isSendStopped = false;
|
isSendStopped = false;
|
||||||
}
|
}
|
||||||
@@ -85,7 +85,8 @@ void SendSystem::sendFileBlockByteArray(QByteArray array, PacketType packetType)
|
|||||||
{
|
{
|
||||||
qDebug() << "sendFileBlockByteArray thread: " << QThread::currentThreadId();
|
qDebug() << "sendFileBlockByteArray thread: " << QThread::currentThreadId();
|
||||||
|
|
||||||
if(!client->getIsUnity())
|
if(client->GETTYPE() == TypeClientAutorization::TYPE_QT_CLIENT ||
|
||||||
|
client->GETTYPE() == TypeClientAutorization::TYPE_GUI)
|
||||||
{
|
{
|
||||||
QDataStream stream(socket);
|
QDataStream stream(socket);
|
||||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||||
@@ -193,7 +194,8 @@ void SendSystem::sendDeleteBlock(QString path)
|
|||||||
|
|
||||||
void SendSystem::sendPacketType(PacketType packetType)
|
void SendSystem::sendPacketType(PacketType packetType)
|
||||||
{
|
{
|
||||||
if(!client->getIsUnity())
|
if (client->GETTYPE() == TypeClientAutorization::TYPE_QT_CLIENT ||
|
||||||
|
client->GETTYPE() == TypeClientAutorization::TYPE_GUI)
|
||||||
{
|
{
|
||||||
|
|
||||||
QDataStream stream(socket);
|
QDataStream stream(socket);
|
||||||
@@ -225,7 +227,8 @@ void SendSystem::sendNotify(QString notify)
|
|||||||
void SendSystem::sendXmlAnswer(QByteArray array, PacketType packetType)
|
void SendSystem::sendXmlAnswer(QByteArray array, PacketType packetType)
|
||||||
{
|
{
|
||||||
qDebug() << "SendSystemThread: " << QThread::currentThreadId();
|
qDebug() << "SendSystemThread: " << QThread::currentThreadId();
|
||||||
if(!client->getIsUnity())
|
if (client->GETTYPE() == TypeClientAutorization::TYPE_QT_CLIENT ||
|
||||||
|
client->GETTYPE() == TypeClientAutorization::TYPE_GUI)
|
||||||
{
|
{
|
||||||
QDataStream stream(socket);
|
QDataStream stream(socket);
|
||||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||||
|
|||||||
@@ -63,9 +63,7 @@ private:
|
|||||||
quint64 fileSize;
|
quint64 fileSize;
|
||||||
int countSend;
|
int countSend;
|
||||||
bool isSendStopped;
|
bool isSendStopped;
|
||||||
bool isUnity;
|
TypeClientAutorization type;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SENDSYSTEM_H
|
#endif // SENDSYSTEM_H
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ bool ServerLMSWidget::stopServer()
|
|||||||
ClientHandler* clientHandlerOpen = clientsMap[idSocket];
|
ClientHandler* clientHandlerOpen = clientsMap[idSocket];
|
||||||
|
|
||||||
//Фиксируем время выхода Юнити-клиента
|
//Фиксируем время выхода Юнити-клиента
|
||||||
if(clientHandlerOpen->getClient()->getIsUnity())
|
if(clientHandlerOpen->getClient()->GETTYPE() == TypeClientAutorization::TYPE_UNITY_CLIENT)
|
||||||
{
|
{
|
||||||
processingSystem->processingExitUnityClient(clientHandlerOpen);
|
processingSystem->processingExitUnityClient(clientHandlerOpen);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user