打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Qt的Udp编程总结
一:首先需在创建的工程目录下添加
QT +=network //引进网络编程内容
​二:服务端的编写
​(1)初始化操作
   udpServer=new QUdpSocket(this); //创建套接字
    udpServer->bind(QHostAddress::Any,8040); //绑定通信端口
    connect(udpServer,SIGNAL(readyRead()),this,SLOT(recvData()));  //连接信号接收函数
​(2)数据接收
//接收数据
    while (udpServer->hasPendingDatagrams())
    {
    QByteArray datagram; //定义接收的数组
    datagram.resize(udpServer->pendingDatagramSize()); //设置接收数组的大小
    udpServer->readDatagram(datagram.data(), datagram.size()); //读取数据
    QString s = datagram.data(); //分离出需要的数据
    ui->plainTextEdit->appendPlainText(s); //数据显示
    }

​源代码:
#include "widget.h"
#include "ui_widget.h"

UdpServer::UdpServer(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    udpServer=new QUdpSocket(this); //创建套接字
    udpServer->bind(QHostAddress::Any,8040); //绑定通信端口
    connect(udpServer,SIGNAL(readyRead()),this,SLOT(recvData()));  //连接信号接收函数
}

UdpServer::~UdpServer()
{
    delete ui;
}
//接收数据的函数
void UdpServer::recvData()
{
    //接收数据
    while (udpServer->hasPendingDatagrams())
    {
    QByteArray datagram; //定义接收的数组
    datagram.resize(udpServer->pendingDatagramSize()); //设置接收数组的大小
    udpServer->readDatagram(datagram.data(), datagram.size()); //读取数据
    QString s = datagram.data(); //分离出需要的数据
    ui->plainTextEdit->appendPlainText(s); //数据显示
    }
}


​三:客户端的编写
​(1),初始化操作
​udpClient=new QUdpSocket(this
);
​(2)发送数据
QString s= "hello test";
   udpClient->writeDatagram(s.toLatin1(), s.length(), QHostAddress::Broadcast, 8040);
​源代码:
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    udpClient=new QUdpSocket(this);  //创建套接字
}

Widget::~Widget()
{
    delete ui;
}
//发送数据的函数
void Widget::on_pushButton_clicked()
{
   QString s= ui->lineEdit->text();
   udpClient->writeDatagram(s.toLatin1(), s.length(), QHostAddress::Broadcast, 8040); //向指定的端口发送数据
}
三:基于Qt5.9的项目源码








本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
QTcpServer、QTcpSocket、QUdpSocket在聊天程序上的应用
QT之UDP通信
Qt学习之路
【2011.03.17】QT 的UDP SOCKET编程
Qt学习 之 Socket通信(世界上最简单的例子了)
QT COMBOX
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服