feat: add server blocked behaviour

This commit is contained in:
semenov
2024-09-12 12:16:41 +03:00
parent a831e29ddc
commit 23982ecd6b
26 changed files with 172 additions and 114 deletions

View File

@@ -1,4 +1,4 @@
#include "updatecontroller.h"
#include "UpdateController.h"
UpdateController::UpdateController(DataParser *parser, QObject *parent) :
QObject(parent)

View File

@@ -127,7 +127,7 @@ QByteArray DataParser::xmlAnswer_notify(QString code)
SAttribute attribute1 = {"Code", code};
QList<SAttribute> listAttr = {attribute1};
SXmlAnswerTag tag = {"ServerNotify", listAttr};
SXmlAnswerTag tag = {"ClientNotify", listAttr};
listTag.append(tag);

View File

@@ -20,7 +20,7 @@ void ExternalExecuter::callApp()
args << "1";
myProcess->start(programPath,args);
myProcess->waitForFinished(3000);
myProcess->waitForStarted();
QCoreApplication::exit();
}

View File

@@ -262,11 +262,16 @@ void RecognizeSystem::xmlParser(QByteArray array)
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Code"){
if (value == "END"){
if(name == "Code")
{
if (value == "END")
{
emit sigSocketDisabled();
}
if(value == "BLOCKED")
{
emit sigServerBlocked();
}
}
}

View File

@@ -6,7 +6,7 @@
#include <QTcpSocket>
#include <mainwindow.h>
#include <Core\tools.h>
#include <Core\updatecontroller.h>
#include <Core\UpdateController.h>
class UpdateController;
@@ -27,6 +27,7 @@ signals:
void sigNeedUpdate(bool flag,qint64 size,quint64 fileCount);
void sigSendDebugLog(QString message);
void sigSocketDisabled();
void sigServerBlocked();
void sigSaveLoginData(ServerAuthorization *serverAuth);
void sigSocketWaitForReadyRead(int waitTime);

View File

@@ -89,11 +89,11 @@ void TCPClient::sendFile()
countSend = 0;
}
void TCPClient::sendUnityConnect()
void TCPClient::sendQTConnect()
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_CHANGEPACKAGERESPONSE;
QString value = QString::number(PacketType::TYPE_QT);
socket->write(value.toUtf8());
socket->waitForBytesWritten();
}
@@ -106,15 +106,15 @@ void TCPClient::setDisconnect()
void TCPClient::sendDisable()
{
// QDataStream stream(socket);
// stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
// QByteArray data;
// data = emit sigGetXmlAnswer("END");
QByteArray data;
data = emit sigGetXmlAnswer("DISABLE");
// stream << PacketType::TYPE_XMLANSWER;
// stream << data;
// socket->waitForBytesWritten();
stream << PacketType::TYPE_XMLANSWER;
stream << data;
socket->waitForBytesWritten();
}
void TCPClient::waitRead(int time)
@@ -162,14 +162,18 @@ void TCPClient::slotMessageEntered(QString message)
void TCPClient::slotConnectNotify()
{
if(socket->state() != QTcpSocket::ConnectedState){
emit sigSendDebugLog("Connect invalid");
emit sigConnectionState(false);
return;
}else{
emit sigSendDebugLog("Connect complete");
emit sigConnectionState(true);
}
if(socket->state() != QTcpSocket::ConnectedState)
{
emit sigSendDebugLog("Connect invalid");
emit sigConnectionState(false);
return;
}
else
{
emit sigSendDebugLog("Connect complete");
emit sigConnectionState(true);
sendQTConnect();
}
}
void TCPClient::slotReadyRead()
@@ -178,9 +182,10 @@ void TCPClient::slotReadyRead()
emit sigSendDebugLog("WRONG SOCKET");
return;
}
// qDebug() << "Transaction before recognize: " << socket->isTransactionStarted();
// if(socket->isTransactionStarted()) return;
// qDebug() << "Transaction before recognize: " << socket->isTransactionStarted();
// if(socket->isTransactionStarted()) return;
emit sigRecognize(socket);
}

View File

@@ -26,7 +26,7 @@ public:
void initialize(RecognizeSystem *recognize,ExternalExecuter *externalExecuter);
void setConnect(ServerSettings *serverSettings);
void sendClientAutorization();
void sendUnityConnect();
void sendQTConnect();
void sendDisable();
void waitRead(int time);

View File

@@ -18,7 +18,7 @@ static QString displayTemp = staticDataFolderName + "/displayData.xml";
enum PacketType{
TYPE_NONE = 0,
TYPE_MSG = 1,
TYPE_UNITY = 1,
TYPE_FILE = 2,
TYPE_COMMAND = 3,
TYPE_FOLDER = 4,
@@ -26,7 +26,7 @@ enum PacketType{
TYPE_FINISH = 6,
TYPE_NEEDUPDATE = 7,
TYPE_XMLANSWER = 8,
TYPE_CHANGEPACKAGERESPONSE = 9,
TYPE_QT = 9,
TYPE_DISABLE = 11
};