mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Корректное переподключение к серверу
This commit is contained in:
@@ -56,7 +56,13 @@ void TCPClient::setConnect(ServerSettings *serverSettings)
|
||||
|
||||
void TCPClient::setDisconnect()
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
stream << PacketType::TYPE_DISABLE;
|
||||
|
||||
|
||||
socket->disconnect();
|
||||
|
||||
isConnected = false;
|
||||
emit sigServerDisconnect();
|
||||
emit sigSendDebugLog("Server disabled");
|
||||
|
||||
@@ -26,6 +26,7 @@ public:
|
||||
explicit TCPClient(QObject *parent = 0);
|
||||
void initialize(RecognizeSystem *recognize,SendSystem *sendSystem);
|
||||
void setConnect(ServerSettings *serverSettings);
|
||||
void setDisconnect();
|
||||
|
||||
void waitRead(int time);
|
||||
QTcpSocket* getSocket();
|
||||
@@ -54,9 +55,7 @@ private:
|
||||
SendSystem *sendSystem;
|
||||
QTcpSocket *socket;
|
||||
RecognizeSystem *recognizeSystem;
|
||||
bool isConnected;
|
||||
|
||||
void setDisconnect();
|
||||
bool isConnected;
|
||||
};
|
||||
|
||||
#endif // TCPCLIENT_H
|
||||
|
||||
@@ -119,6 +119,12 @@ void ConnectorToServer::SetConnectToServer()
|
||||
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||
}
|
||||
|
||||
void ConnectorToServer::StopConnectToServer()
|
||||
{
|
||||
emit sigStopConnect();
|
||||
clearListModelDB();
|
||||
}
|
||||
|
||||
QByteArray ConnectorToServer::getListTaskFimArray()
|
||||
{
|
||||
return listTaskFimArray;
|
||||
@@ -287,17 +293,6 @@ void ConnectorToServer::showVersionSelect()
|
||||
emit sigSendAnswerToServer(answer);
|
||||
}
|
||||
|
||||
/*
|
||||
void ConnectorToServer::slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||
QList<Trainee>* listTrainees,
|
||||
QList<Group>* listGroups)
|
||||
{
|
||||
this->listInstructors = *listInstructors;
|
||||
this->listTrainees = *listTrainees;
|
||||
this->listGroups = *listGroups;
|
||||
emit signal_UpdateDB(true, true);
|
||||
}*/
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors)
|
||||
{
|
||||
this->listInstructors = listInstructors;
|
||||
@@ -320,13 +315,13 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTra
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListComputers(QList<Computer> listComputers)
|
||||
{
|
||||
this->listComputers = listComputers;
|
||||
//emit signal_UpdateDB(false, true);
|
||||
//emit signal_UpdateDB(false, true); //TODO
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms)
|
||||
{
|
||||
this->listClassrooms = listClassrooms;
|
||||
//emit signal_UpdateDB(false, true);
|
||||
//emit signal_UpdateDB(false, true); //TODO
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||
@@ -384,11 +379,6 @@ void ConnectorToServer::initialize()
|
||||
emit sigInitializeClient(recognizeSystem,sendSystem,connectionThread);
|
||||
|
||||
SetConnectToServer();
|
||||
//emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||
|
||||
// QByteArray answer = dataParser->xmlAnswer_notify()
|
||||
// sendSystem->sendXMLAnswer()
|
||||
|
||||
}
|
||||
|
||||
void ConnectorToServer::activateLoadAnimation(bool flag)
|
||||
@@ -407,6 +397,8 @@ void ConnectorToServer::bindConnection()
|
||||
{
|
||||
connect(this,&ConnectorToServer::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigStopConnect,client,&TCPClient::setDisconnect,Qt::AutoConnection);
|
||||
|
||||
connect(this,&ConnectorToServer::signal_sendXMLmsgGUItoServer,sendSystem,&SendSystem::sendXMLmsgGUItoServer);
|
||||
connect(this,&ConnectorToServer::sigSendAnswerToServer,sendSystem,&SendSystem::sendXMLAnswer,Qt::AutoConnection);
|
||||
|
||||
@@ -466,3 +458,17 @@ void ConnectorToServer::createObjects()
|
||||
connectionThread->start();
|
||||
connectionThread->setPriority(QThread::HighestPriority);
|
||||
}
|
||||
|
||||
void ConnectorToServer::clearListModelDB()
|
||||
{
|
||||
listInstructors.clear();
|
||||
listGroups.clear();
|
||||
listTrainees.clear();
|
||||
listComputers.clear();
|
||||
listClassrooms.clear();
|
||||
mapTasksAMM.clear();
|
||||
mapTasksFIM.clear();
|
||||
|
||||
listTaskFimArray.clear();
|
||||
listTaskAmmArray.clear();
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
bool sendQueryTasksXML(QString type);
|
||||
|
||||
void SetConnectToServer();
|
||||
void StopConnectToServer();
|
||||
|
||||
public:
|
||||
QByteArray getListTaskFimArray();
|
||||
@@ -66,11 +67,8 @@ public:
|
||||
|
||||
ServerSettings getServerSettings();
|
||||
bool getIsConnected();
|
||||
public slots:
|
||||
/*void slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||
QList<Trainee>* listTrainees,
|
||||
QList<Group>* listGroups);*/
|
||||
|
||||
public slots:
|
||||
void slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors);
|
||||
void slot_AnswerQueryToDB_ListGroups(QList<Group> listGroups);
|
||||
void slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTrainees);
|
||||
@@ -87,6 +85,7 @@ public slots:
|
||||
|
||||
signals:
|
||||
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
|
||||
void sigStopConnect();
|
||||
void sigInitializeClient(RecognizeSystem *recognizeSystem,
|
||||
SendSystem *sendSystem,
|
||||
QThread *thread);
|
||||
@@ -116,6 +115,9 @@ private:
|
||||
void bindConnection();
|
||||
void createObjects();
|
||||
|
||||
//Очистка списочной модели БД СУО
|
||||
void clearListModelDB();
|
||||
|
||||
private:
|
||||
QWidget* parentWidget;
|
||||
QThread *connectionThread;
|
||||
|
||||
Reference in New Issue
Block a user