Newer
Older
PhaseMeasure / common / utils / UDPClientUtil.cpp
TAN YUE on 5 Jan 2022 1 KB 20220104 udp test
#include "UDPClientUtil.h"
#include "SettingConfig.h"
#include "QByteUtil.h"
#include <iostream>

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

    client->bind(QHostAddress("192.168.0.201"), SettingConfig::getInstance().LISTEN_PORT);
    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);

    std::cout << "[send]" << data.toStdString() << std::endl;
}

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);
    }
}