UDP(User Datagram Protocol,用户数据报协议)
是一个轻量级、不可靠、面向数据报的、无连接的协议,用于可靠性不是非常重要的情况。
一般分为发送端和接收端:
1、发送端
#include "sender.h"
#include "ui_sender.h"
#include <QtNetwork>
Sender::Sender(QWidget *parent) :
QDialog(parent),
ui(new Ui::Sender)
{
ui->setupUi(this);
sender=new QUdpSocket(this);
}
Sender::~Sender()
{
delete ui;
}
void Sender::on_pushButton_clicked()
{
QByteArray datagram="hello world!";
sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,45454);
}
主要函数
qint64 QUdpSocket::writeDatagram(const char*data,qint64 size,const QHostAddress &address,quint16 port)
它会发送size大小的数据报到地址为address的主机的port端口,并返回发送成功的字节数;如果发送失败返回-1
QHostAddress::Broadcast表示广播地址,等价于QHostAddress("255.255.255.255")。端口号一般建议使用1024以上的端口