您的位置:首页 > 编程语言 > Qt开发

qt udp

2016-04-28 16:30 393 查看
#ifndef MUDP_H
#define MUDP_H

#include <QObject>
#include <QUdpSocket>

class mudp : public QObject
{
Q_OBJECT
public:
explicit mudp(QObject *parent = 0);

QUdpSocket  *udpSocket ;

void initSocket();

public slots:
void readPendingDatagrams();

};

#endif // MUDP_H


#include "mudp.h"

#define UDP_PORT  8080

mudp::mudp(QObject *parent) :
QObject(parent)
{
initSocket();
}
void mudp::initSocket()
{
udpSocket = new QUdpSocket();
udpSocket->bind(QHostAddress::AnyIPv4, UDP_PORT, QUdpSocket::ReuseAddressHint);
connect(udpSocket, SIGNAL(readyRead()),this, SLOT(readPendingDatagrams()));
}

void mudp::readPendingDatagrams()
{
while (udpSocket->hasPendingDatagrams())
{
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());

QHostAddress sender;
quint16 senderPort;

udpSocket->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);

qDebug()<<sender.toString()<<senderPort<<(datagram);

udpSocket->writeDatagram(datagram.data(), datagram.size(),sender, senderPort);
}
}


#include "mainwindow.h"
#include "mudp.h"
mudp *udp;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
udp = new mudp;
}

MainWindow::~MainWindow()
{
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: