当前位置:首页 > 技术 > GUI/OS > 正文内容

对qt代码的 udp广播学习

Watrt6年前 (2018-12-14)GUI/OS18250

简单学习在qt下 UDP广告的代码

#include "mainwindow.h"
#include "ui_mainwindow.h"
//引用文件必须
#include "QtNetwork/qudpsocket.h"
#include "QtNetwork/qhostaddress.h"

QUdpSocket *receiver;       //接收端的
QUdpSocket *clinet;         //发送端
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    clinet =new QUdpSocket(this);
    receiver = new QUdpSocket(this);
    //初始化
    receiver->bind(2425,QUdpSocket::ShareAddress);  //接收端必须处于邦定状态(QUdpSocket::ShareAddress)
    connect(receiver, SIGNAL(readyRead()),this, SLOT(readPendingDatagrams()));      //建立信号 readyread引发readPendingDatagrams
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::readPendingDatagrams()
 {
     qDebug("---------进入收信息----------");
     //检测是不是有信息到来
     while (receiver->hasPendingDatagrams()) {
         QByteArray datagram;
         datagram.resize(receiver->pendingDatagramSize());  //获取信息长度
         receiver->readDatagram(datagram.data(), datagram.size());  //读到缓冲
        ui->plainTextEdit->setPlainText(ui->plainTextEdit->document()->toPlainText()+datagram.data());
     }
 }
void MainWindow::on_pushButton_clicked()
{
    QByteArray str="hi my fukun\n";
    clinet->writeDatagram(str.data(),str.size(),QHostAddress::Broadcast,2425);      //发送端发送数据发送不需要邦定
}

除了上面的内容,在编译时记得在pro文件中加上

QT += network

最终效果如下。

深度截图_选择区域_20181214111611.png

分享给朋友:

相关文章

EasyGUI

EasyGUI

这个GUI 具体见github上项目:https://github.com/MaJerle/EasyGUI文档还是齐全的,见:http://majerle.eu/documentation/gui/html/index.html作者自己介绍: 该库为轻量级,适用于通用平台,但特别为 STM32 Chrom-ART DMA2D外围优化EasyGUI is lightweight, in general platform independent but highly optimized for ST...

STM32 HAL库 裸机移植STemwin[转]

STM32 HAL库 裸机移植STemwin[转]

一、准备工作1、STM32CubeMx     我使用的是4.25版本的,软件还没装上的自己去下载安装就可以了2、下载F103最新的固件库,新建工程的时候,会自动提示让你下载的,不用另行下载下载保存的地方可以在软件的project -> setting 页面的最底下看到3、TFT屏幕,了解清楚平模的驱动IC型号(后面会用到),同时准备好此屏幕的驱动。注意这里只说明支持FSMC驱动的LCD屏幕(数据输出最少16个),为避免其它错误操作,应先确保驱动文件和屏幕都是好的,比如...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。