5 changed files with 120 additions and 35 deletions
			
			
		@ -0,0 +1,50 @@ | 
				
			|||
#include "socket.h" | 
				
			|||
#include <QDateTime> | 
				
			|||
 | 
				
			|||
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'; | 
				
			|||
} | 
				
			|||
@ -1,29 +1,29 @@ | 
				
			|||
#ifndef UDP_Socket_H | 
				
			|||
#define UDP_Socket_H | 
				
			|||
#ifndef UDPSOCKET_H | 
				
			|||
#define UDPSOCKET_H | 
				
			|||
 | 
				
			|||
#include <QObject> | 
				
			|||
#include <QUdpSocket> | 
				
			|||
 | 
				
			|||
class UDP_Socket : public QObject | 
				
			|||
class UdpSocket : public QObject | 
				
			|||
{ | 
				
			|||
    Q_OBJECT | 
				
			|||
 | 
				
			|||
public: | 
				
			|||
    explicit UDP_Socket(QObject* parent = nullptr, quint16 port = 1234); | 
				
			|||
    void SayHello(); | 
				
			|||
    void SayMsg(QString Msg); | 
				
			|||
 | 
				
			|||
private: | 
				
			|||
    QString GetTime(); | 
				
			|||
    QUdpSocket* _socket; | 
				
			|||
    const quint16 _port; | 
				
			|||
 | 
				
			|||
signals: | 
				
			|||
    QString getTime(); | 
				
			|||
 | 
				
			|||
public: | 
				
			|||
    explicit UdpSocket(QObject* parent = nullptr, quint16 port = 1234); | 
				
			|||
 | 
				
			|||
    void sayHello(); | 
				
			|||
    void sayMsg(QString Msg); | 
				
			|||
 | 
				
			|||
    //uncrustify off
 | 
				
			|||
public slots: | 
				
			|||
    //uncrustify on
 | 
				
			|||
    void readyRead(); | 
				
			|||
 | 
				
			|||
private: | 
				
			|||
    QUdpSocket* socket; | 
				
			|||
    const quint16 the_port; | 
				
			|||
}; | 
				
			|||
 | 
				
			|||
#endif //UDP_Socket_H
 | 
				
			|||
#endif //UDPSOCKET_H
 | 
				
			|||
 | 
				
			|||
@ -0,0 +1,30 @@ | 
				
			|||
#ifndef UDPSOCKET_H | 
				
			|||
#define UDPSOCKET_H | 
				
			|||
 | 
				
			|||
#include <QObject> | 
				
			|||
#include <QUdpSocket> | 
				
			|||
 | 
				
			|||
class UdpSocket : public QObject | 
				
			|||
{ | 
				
			|||
    Q_OBJECT | 
				
			|||
 | 
				
			|||
private: | 
				
			|||
    QUdpSocket* _socket; | 
				
			|||
    const quint16 _port; | 
				
			|||
 | 
				
			|||
    QString getTime(); | 
				
			|||
 | 
				
			|||
public: | 
				
			|||
    explicit UdpSocket(QObject* parent = nullptr, quint16 port = 1234); | 
				
			|||
    ~UdpSocket(); | 
				
			|||
 | 
				
			|||
    void sayHello(); | 
				
			|||
    void sayMsg(QString Msg); | 
				
			|||
 | 
				
			|||
    //uncrustify off | 
				
			|||
public slots: | 
				
			|||
    //uncrustify on | 
				
			|||
    void readyRead(); | 
				
			|||
}; | 
				
			|||
 | 
				
			|||
#endif //UDPSOCKET_H | 
				
			|||
					Loading…
					
					
				
		Reference in new issue