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 | 
					#ifndef UDPSOCKET_H | 
				
			||||
#define UDP_Socket_H | 
					#define UDPSOCKET_H | 
				
			||||
 | 
					
 | 
				
			||||
#include <QObject> | 
					#include <QObject> | 
				
			||||
#include <QUdpSocket> | 
					#include <QUdpSocket> | 
				
			||||
 | 
					
 | 
				
			||||
class UDP_Socket : public QObject | 
					class UdpSocket : public QObject | 
				
			||||
{ | 
					{ | 
				
			||||
    Q_OBJECT | 
					    Q_OBJECT | 
				
			||||
 | 
					
 | 
				
			||||
public: | 
					 | 
				
			||||
    explicit UDP_Socket(QObject* parent = nullptr, quint16 port = 1234); | 
					 | 
				
			||||
    void SayHello(); | 
					 | 
				
			||||
    void SayMsg(QString Msg); | 
					 | 
				
			||||
 | 
					 | 
				
			||||
private: | 
					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: | 
					public slots: | 
				
			||||
 | 
					    //uncrustify on
 | 
				
			||||
    void readyRead(); | 
					    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