Newer
Older
PhaseMeasure / common / utils / UDPClientUtil.cpp
tanyue on 30 Jun 2023 903 bytes 20230630 适配串口
#include "UDPClientUtil.h"
#include "SettingConfig.h"
#include "QByteUtil.h"

UDPClientUtil::UDPClientUtil(QObject *parent) : QObject(parent)
{
    client = new QUdpSocket(this);

    connect(client, &QUdpSocket::readyRead, this, &UDPClientUtil::readData);
}

UDPClientUtil::~UDPClientUtil()
{

}

void UDPClientUtil::sendData(QByteArray data)
{
    client->writeDatagram(data,
                          QHostAddress(SettingConfig::getInstance().DEVICE_HOST),
                          SettingConfig::getInstance().DEVICE_PORT);
    qDebug() << "[send]" << data;
}

void UDPClientUtil::readData()
{
    QByteArray ba;
    while(client->hasPendingDatagrams())
    {
        ba.resize(client->pendingDatagramSize());
        client->readDatagram(ba.data(), ba.size());
//        std::cout << "[recv]" << QByteUtil::binToHexString(ba).toStdString() << std::endl;

        emit dataRecieved(ba);
    }
}