1 changed files with 50 additions and 0 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'; | 
				
			||||
 | 
					} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue