Newer
Older
PhaseMeasure / common / utils / UDPClientUtil.cpp
TAN YUE on 29 Nov 2023 951 bytes 20231129 增加udp client的配置
#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()
{

}

int UDPClientUtil::sendData(QByteArray data)
{
    qint64 len = client->writeDatagram(data.data(), data.size(), QHostAddress(SettingConfig::getInstance().DEVICE_HOST), SettingConfig::getInstance().DEVICE_PORT);
    qDebug() << QString("[send][%1]").arg(len) << data;
    return len;
}

void UDPClientUtil::readData()
{
//    qDebug() << "read data";
    QByteArray ba;
    while(client->hasPendingDatagrams())
    {
        ba.resize(client->pendingDatagramSize());
        client->readDatagram(ba.data(), ba.size());
//        qDebug() << QString("[recv][%1]").arg(ba.size()) << QByteUtil::binToHexString(ba);

        emit dataRecieved(ba);
    }
}