首页 > 其他分享 >Qt通过UDP发送广播

Qt通过UDP发送广播

时间:2023-11-02 10:16:00浏览次数:38  
标签:UDP Qt void udp 发送 广播 QUdpSocket data

 

 

// x.h
QUdpSocket* udp = nullptr;      // UDP对象

void createUdpAndSendData();    // 创建UDP对象和发送广播数据
void dropUdp();                 // 释放UDP对象
void readData();                // 用来接收其他设备发送的数据
void createUdpAndSendData()
{
    // 创建UDP对象
    if(udp == nullptr)
    {
        udp = new QUdpSocket(this);
        
        // 第一种方式,绑定当前默认网卡来发送广播
        // udp->bind(52110, QUdpSocket::ShareAddress);         
        
        // 第二种方式,绑定指定网卡
        QHostAddress ip1("10.10.13.132");
        udp->bind(ip1, 52110, QUdpSocket::ShareAddress);
        connect(udp, &QUdpSocket::readyRead, this, &MyWifiSelect::readSocketData);                             
    }
    
    // 发送广播
    QByteArray data = "Hello,I'm on line!";
    udp->writeDatagram(data.data(), data.size(), QHostAddress::Broadcast, 52110);
}

void dropUdp()
{
    if (udp)
    {
        delete udp;
        udp = nullptr;
    }
}

void readData()
{
    while (udp->hasPendingDatagrams())
    {
        QNetworkDatagram data = udp->receiveDatagram();
        QString s = data.data();
    }
}

 

标签:UDP,Qt,void,udp,发送,广播,QUdpSocket,data
From: https://www.cnblogs.com/shiyixirui/p/17804762.html

相关文章

  • 验证2个节点udp和tcp可通性
    -u表示udp,默认是tcp。-l表示作为server监听。server:192.168.0.104上开启udp123端口server发送11client:连接192.168.0.104上udp123端口client发送100 server:192.168.0.104上开启tcp123端口server发送102client:连接192.168.0.104上tcp123端口client发送101......
  • VS Qt扩展插件下载地址
      使用vs开发qt项目,需要安装qt插件QT插件下载地址:https://mirrors.ustc.edu.cn/qtproject/official_releases/vsaddin/ ......
  • Centos安装MQTT与基本配置
    1.Centos默认没有mosquitto,需要额外安装一个软件包,EPEL软件库。该库中有很多Linux发行版软件  sudoyum-yinstall epel-release2.安装mostuitto   sudoyum-yinstallmosquitto3.执行完以上两步,mosquitto就已经安装成功4.测试是否安装成功  sudosystemctl......
  • UDP 协议
    UDP协议UDP(UserDatagramProtocol),目标是在传输层提供直接发送报文(Datagram)的能力。Datagram是数据传输的最小单位。UDP协议不会帮助拆分数据,它的目标只有一个,就是发送报文。   与tcp差异  ......
  • QT高级(1)QTableView自定义委托集合,一个类实现若干委托
    @目录1同系列文章2功能3源码1同系列文章QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托QT中级(2)QTableView自定义委托(二)实现QProgressBar委托QT中级(3)QTableView自定义委托(三)实现QCheckBox委托并且将QCheckBox居中QT中级(4)QTableView自定义委托(四)实现QDateTi......
  • 05. UDP编程
    一、什么是UDP协议  相对于TCP协议,UDP协议则是面向无连接的协议。使用UDP协议时,不需要建立连接,只需要知道对象的IP地址和端口号,就可以直接发数据包。但是,数据无法保证一定到达。虽然用UDP传输数据不可靠,但它的优点是比TCP协议的速度快。对于不要求可靠到达的数据而......
  • 三维重建 PyQt Python MPR 四视图(横断面,冠状面,矢状面,3D)
    本文实现了PythonMPR的四视图,横断面,冠状面,矢状面,3DMPR(multi-plannerreformation)也称多平面重建,多重面重建是将扫描范围内所有的轴位图像叠加起来再对某些标线标定的重组线所指定的组织进行冠状、矢状位、任意角度斜位图像重组。主要功能:1:实现了所有切面与其他视图光标应该......
  • Qt中设置设置控件样式 — setStyleSheet
    通过setStyleSheet来设置控件的Style样式控件样式的常用设置项:1、border:设置控件的边框样式//1.无边框QStringborderNone="border:none";//2.设置边框的值需要有3个因子:宽度,线形,颜色QStringborderStyle="border:5pxsolid#999999;";......
  • 重新使用android studio编写udp socket程序,备忘记录
    1,建立socket需要使用子线程而不是主线程。2,java/android使用数据报格式。3,可以利用python作为socket的客户/服务器端,非常简单。但python可以不使用数据报,而直接使用字符串。当然也可以使用数据报。当与android配合时使用数据报格式4,一般地,传输的是字符串,因此,数字要编码为字符串......
  • QTreeWidget 的搜索实时显示功能
    QTreeWidget的子条目很多时候需要提供实时的搜索功能,以便能快速找到所需要的条目。代码如下://1.创建当输入框文本变化时的信号槽。connect(ui.lineEditSearch,&QLineEdit::textChanged,this,&Demo01_GUI::OnFindItem);//2.槽函数实现检索时,实时显示符合要求的QTre......