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:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.11.1, 2024-12-16T17:46:50. -->
|
||||
<!-- Written by QtCreator 4.11.1, 2024-12-17T12:54:17. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -519,12 +519,18 @@ QByteArray DataParser::xmlAnswer_ClientQueryToDB_ListTasks(bool result, QList<Ta
|
||||
return QByteArray();
|
||||
}
|
||||
|
||||
QByteArray DataParser::xmlAnswer_message(QString text)
|
||||
QByteArray DataParser::xmlAnswer_message(QString text, QString login)
|
||||
{
|
||||
QList<SXmlAnswerTag> listTag;
|
||||
SAttribute attribute2;
|
||||
|
||||
SAttribute attribute1 = {"Text", text};
|
||||
QList<SAttribute> listAttr = {attribute1};
|
||||
if(login != "")
|
||||
{
|
||||
attribute2 = {"Login", login};
|
||||
listAttr.append(attribute2);
|
||||
}
|
||||
SXmlAnswerTag tag = {"ServerMessage", listAttr};
|
||||
|
||||
listTag.append(tag);
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
QByteArray xmlAnswer_ClientQueryToDB_ListClassrooms(bool result, QList<Classroom> *listClassrooms);
|
||||
QByteArray xmlAnswer_ClientQueryToDB_ListTasks(bool result, QList<Task> *listTasks);
|
||||
|
||||
QByteArray xmlAnswer_message(QString text);
|
||||
QByteArray xmlAnswer_message(QString text, QString login = "");
|
||||
QByteArray xmlAnswer_task(QString text);
|
||||
QByteArray xmlAnswer_notify(QString code);
|
||||
QByteArray xmlAnswer_tasks(QStringList listTasks);
|
||||
|
||||
@@ -224,15 +224,16 @@ void ProcessingSystem::processingToClientMessage(ClientHandler *client, ToClient
|
||||
|
||||
void ProcessingSystem::processingFromClientMessage(ClientHandler *client, ClientMessage clientMessage)
|
||||
{
|
||||
/*
|
||||
QString peerAddress = client->getSocket()->peerAddress().toString();
|
||||
QString peerPort = QString::number(client->getSocket()->peerPort());
|
||||
|
||||
QString str = "Msg From Client [" + peerAddress + ":" + peerPort + "] : " + clientMessage.Text;
|
||||
|
||||
emit sigLogMessage(str);
|
||||
*/
|
||||
|
||||
//Здесь нужно оттранслировать на ГУИ!
|
||||
//emit sigAddToMessanger(client->getClient()->getLogin(), clientMessage.Text);
|
||||
signal_msgFromClientReady(client->getClient()->getLogin(), clientMessage.Text);
|
||||
}
|
||||
|
||||
void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotify clientNotify)
|
||||
|
||||
@@ -37,6 +37,7 @@ signals:
|
||||
void sigLogMessage(QString log);
|
||||
void sigAddToMessanger(QString login,QString text);
|
||||
void signal_msgToClientReady(QString login, QString text);
|
||||
void signal_msgFromClientReady(QString login, QString text);
|
||||
|
||||
private:
|
||||
ServerLMSWidget *server;
|
||||
|
||||
@@ -42,7 +42,7 @@ public slots:
|
||||
signals:
|
||||
void sigLoadHash();
|
||||
void sigSendToLogger(QString message);
|
||||
QByteArray sigSendXMLmessage(QString message);
|
||||
QByteArray sigSendXMLmessage(QString message, QString login = "");
|
||||
QByteArray sigSendNotify(QString message);
|
||||
|
||||
private:
|
||||
|
||||
@@ -32,6 +32,8 @@ enum PacketType
|
||||
TYPE_DISABLE = 11,
|
||||
TYPE_FILESIZE = 20,
|
||||
|
||||
TYPE_XMLANSWER_MESSAGE_FOR_GUI = 90,
|
||||
|
||||
//xml-ответы на запросы к БД
|
||||
TYPE_XMLANSWER_QUERY_DB__LIST_INSTRUCTORS = 100,
|
||||
TYPE_XMLANSWER_QUERY_DB__LIST_GROUPS = 101,
|
||||
|
||||
@@ -73,6 +73,7 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
||||
|
||||
connect(processingSystem,&ProcessingSystem::sigAuthChanged,this, &ServerLMSWidget::slot_AuthChanged);
|
||||
connect(processingSystem,&ProcessingSystem::signal_msgToClientReady,this, &ServerLMSWidget::slot_msgToClientFromGUI);
|
||||
connect(processingSystem,&ProcessingSystem::signal_msgFromClientReady,this, &ServerLMSWidget::slot_msgToGUIfromClient);
|
||||
|
||||
on_btnStartServer_clicked();
|
||||
|
||||
@@ -258,7 +259,7 @@ void ServerLMSWidget::slot_msgToGUIfromClient(QString login, QString text)
|
||||
{
|
||||
QString textMsg = text;
|
||||
|
||||
QByteArray byteArrayMsg = dataParser->xmlAnswer_message(textMsg);
|
||||
QByteArray byteArrayMsg = dataParser->xmlAnswer_message(textMsg, login);
|
||||
|
||||
//Проходим все открытые сокеты, ищем нужный
|
||||
foreach(int idSocket, clientsMap.keys())
|
||||
@@ -267,7 +268,7 @@ void ServerLMSWidget::slot_msgToGUIfromClient(QString login, QString text)
|
||||
if(handler->getClient()->getTypeClient() == TypeClientAutorization::TYPE_GUI)
|
||||
{//Отправляем GUI-клиенту для отображения в Мессенджере
|
||||
|
||||
handler->sendXmlAnswer(byteArrayMsg);
|
||||
handler->sendXmlAnswer(byteArrayMsg, PacketType::TYPE_XMLANSWER);
|
||||
|
||||
QString peerAddress = clientsMap[idSocket]->getSocket()->peerAddress().toString();
|
||||
QString peerPort = QString::number(clientsMap[idSocket]->getSocket()->peerPort());
|
||||
|
||||
Reference in New Issue
Block a user