Отправка сообщений QT сервер: 
Отправка маленьких XML пакетов без информации о размере. TYPE_XMLANSWER

```
void SendSystem::sendXmlAnswer(QByteArray array, PacketType packetType)
{
    qDebug() << "SendSystemThread: " << QThread::currentThreadId();
    Logger::instance().log("C: " + client->getLogin() + " send pack " + enumToString(packetType) +
                           " " + QString::fromUtf8(array),LogLevel::DEBUG);
    if (client->getClientType() == TypeClientAutorization::TYPE_QT_CLIENT ||
        client->getClientType() == TypeClientAutorization::TYPE_GUI)

    {
        // для QT
        QDataStream stream(socket);
        stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
        stream << packetType;
        stream << array;
        socket->waitForBytesWritten();
    }
    else
    {  // для Unity
        sendPacketType(packetType);
        QByteArray message;
        int size = array.length();
        message.append(reinterpret_cast<char*>(&size), sizeof(int));
        socket->write(message);
        socket->write(array);
    }
}

```

Отправка пакета без вложения: 
`void SendSystem::sendPacketType(PacketType packetType){
    if (client->getClientType() == TypeClientAutorization::TYPE_QT_CLIENT ||
        client->getClientType() == TypeClientAutorization::TYPE_GUI)
    {
    //Для QT
        QDataStream stream(socket);
        stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
        stream << packetType;
        socket->waitForReadyRead(100);
    }
    else
    {
    //для Unity
        QByteArray message;
        int type = (int)packetType;
        message.append(reinterpret_cast<char*>(&type), sizeof(int));
        socket->write(message);
    }
}`
Не подходит для последнего сообщения (например при отключении клиента)

Отправка сервисного сообщения (тип ServerNotify)
`void SendSystem::sendNotify(QString notify)
{
    qDebug() << "SendNotify thread: " << QThread::currentThreadId();
    auto answer = emit sigSendNotify(notify);
    sendXmlAnswer(answer);
}`


Типы сообщений QT->Unity:
TYPE_XMLANSWER
Остальные QT->QT

Сообщение порядок приема данных QDataStream:
1. размер сообщения(отсылается неявно)
2. само сообщение в бинарном формате(в нашем случае XML)

UNITY: при переходе на новую систему общения пакетами нужно:
отправлять пакет о типе XML ответа при каждой отправке

