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