From 21a9cb83846c060c41722774b3e8f8c12bb08b17 Mon Sep 17 00:00:00 2001 From: Hatef Date: Wed, 29 Jun 2022 13:15:08 +0430 Subject: [PATCH] Added Socket again --- socket.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 socket.cpp diff --git a/socket.cpp b/socket.cpp new file mode 100644 index 0000000..2bbaf1b --- /dev/null +++ b/socket.cpp @@ -0,0 +1,50 @@ +#include "socket.h" +#include + +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); +} + +UdpSocket::~UdpSocket() +{ + delete _socket; +} + +void UdpSocket::sayHello() +{ + sayMsg("Connected :))"); +} + +void UdpSocket::sayMsg(QString Msg) +{ + QByteArray Data; + Data.append(Msg); + _socket->writeDatagram(Data, QHostAddress::LocalHost, _port); +} + +QString UdpSocket::getTime() +{ + QDateTime current_time_object = QDateTime::currentDateTime(); + QString formatted_time = current_time_object.toString("yyyy/MM/dd - hh:mm:ss"); + + return formatted_time; +} + +void UdpSocket::readyRead() +{ + QByteArray Buffer; + Buffer.resize(_socket->pendingDatagramSize()); + QHostAddress sender_addr; + quint16 sender_port; + _socket->readDatagram(Buffer.data(), Buffer.size(), &sender_addr, &sender_port); + + qDebug() << "New Message arrived at" << getTime(); + qDebug() << "Address :" << sender_addr.toString(); + qDebug() << "Port : " << sender_port; + qDebug() << "Content : " << Buffer << '\n'; +}