Files
RRJServer/DOCS/Образец отправки сообщения с маркером.md
2024-12-25 15:10:30 +03:00

1.2 KiB
Raw Permalink Blame History

void SendSystem::sendMessageBlock(QString message)
{
    QDataStream stream(socket);
    stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
    QByteArray result = sendMessage(message);
    stream << PacketType::TYPE_XMLANSWER;
    stream << sendMessage(message);
    socket->waitForBytesWritten();
    socket->flush();
}

или файлом

void ServerLMSWidget::sendQDataStream(QTcpSocket *socket,QByteArray data)
{
    QDataStream stream(socket);
    stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
    stream << PacketType::TYPE_XMLANSWER;
    stream << data;
    socket->waitForBytesWritten();
    socket->flush();
}

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

Сообщение порядок приема данных QDataStream:

  1. размер сообщения(отсылается неявно)
  2. само сообщение в бинарном формате(в нашем случае XML)

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