#include "udpsender.h" udpSender::udpSender(QObject *parent) : QObject{parent} { UdpSocket=new QUdpSocket(); UdpSocket->bind(port_receive); connect(UdpSocket, &QUdpSocket::readyRead,this, &udpSender::readPendingDatagrams); QEventLoop Loop; } void udpSender::GetLocalIP() { QString hostName=QHostInfo::localHostName(); qDebug()< addList=hostInfo.addresses(); foreach (QHostAddress aHost,addList) { if(QAbstractSocket::IPv4Protocol==aHost.protocol()) { localIP=aHost.toString(); qDebug()<writeDatagram(ID.toUtf8(),QHostAddress::Broadcast,port_send); return 1; } void udpSender::readPendingDatagrams() { qDebug()<<"Read"; QByteArray datagram; datagram.resize(UdpSocket->pendingDatagramSize()); QHostAddress peerAddr; quint16 peerPort; UdpSocket->readDatagram(datagram.data(),datagram.size(),&peerAddr,&peerPort); QString str=datagram.data(); QString peer="[From "+peerAddr.toString()+":"+QString::number(peerPort)+"] "; qDebug()<