#include "logger.h" #include "socket.h" UdpSocket::UdpSocket(QObject* parent, quint16 port) : QObject(parent), _port(port) { _socket = new QUdpSocket(this); _socket->bind(QHostAddress::LocalHost, port); connect(_socket, &QUdpSocket::readyRead, this, &UdpSocket::readyRead); qInfo() << "A Socket built" << "\n"; } /*******************************************************************************************/ UdpSocket::~UdpSocket() { qInfo() << "Udp socket deleted!" << "\n"; _socket->close(); delete _socket; } /*******************************************************************************************/ void UdpSocket::sayHello() { sayMsg("Connected!"); } /*******************************************************************************************/ void UdpSocket::sayMsg(const QString& msg) { QByteArray Data; Data.append(msg); _socket->writeDatagram(Data, QHostAddress::LocalHost, _port); } /*******************************************************************************************/ void UdpSocket::readyRead() { while(_socket->hasPendingDatagrams()) { QByteArray buffer; buffer.resize(_socket->pendingDatagramSize()); QHostAddress sender_addr; quint16 sender_port; _socket->readDatagram(buffer.data(), buffer.size(), &sender_addr, &sender_port); Logger::logReceivedData(buffer, sender_addr, sender_port); } }