当前位置: 首页 > news >正文

QUdpSocket发送组播和接受组播数据

需要写一个发送组播的窗口测试程序,就想着顺便也接受显示出来下

    QHostAddress address(ip);
udpSend.bind(QHostAddress::AnyIPv4,port,QUdpSocket::ShareAddress);//这里绑定如果注释了也没有问题,组播数据还是可以发送出去,程序运行时会报错

QUdpSocket::leaveMulticastGroup() called on a QUdpSocket when not in QUdpSocket::BoundState
udpSend.leaveMulticastGroup(address);
udpSend.joinMulticastGroup(address);

    udpReciver.bind(QHostAddress::AnyIPv4,port,QUdpSocket::ShareAddress);//接受的得一定要绑定

    udpReciver.leaveMulticastGroup(address);
udpReciver.joinMulticastGroup(address);
disconnect(&udpReciver, SIGNAL(readyRead()),this, SLOT(readPendingDatagrams()));
connect(&udpReciver, SIGNAL(readyRead()),this, SLOT(readPendingDatagrams()));

如果在程序中发送和接受都绑定,则一定要都用QUdpSocket::ShareAddress

void Widget::readPendingDatagrams()
{
while (udpReciver.hasPendingDatagrams())
{
QByteArray data;
data.resize(udpReciver.pendingDatagramSize());//
这里data一定要resize,不然读不出数据
        int len = udpReciver.readDatagram(data.data(),udpReciver.size());//这里一定不要使用readAll(),会报错  QIODevice::read (QUdpSocket): device not open
        qDebug() << data.toHex();
ui->textEdit->append(data.toHex().constData());
}
}


http://www.dtcms.com/a/316569.html

相关文章:

  • 【类与对象(上)】C++封装之美:类与this指针解析
  • Nginx 单一端点上高效部署多个 LLM 模型
  • ES 模块动态导入
  • 海上电磁波传播:两径模型 vs 抛物方程模型传播损耗对比
  • 37.字典树
  • Redis集群模式下确保Key在同一Slot的实现方法
  • 按位运算 - C++
  • Velero 简介和部署
  • Linux进程信号——初步认识信号、信号的产生
  • 《UE教程》第一章第六回——迁移独立项目(资源)
  • IAR软件中变量监控的几种方法
  • 如何在 FastAPI 中优雅处理后台任务异常并实现智能重试?
  • Wireshark安装过程 Npcap Setup: Failed to create the npcap service: 0x8007007e.
  • 信息系统项目管理中的沟通管理实战精解
  • 智慧能源场景设备缺陷漏检率↓76%:陌讯多模态融合检测方案实战解析
  • SpringCloud学习------Gateway详解
  • Claude Code 完整指南:入门到应用
  • Qt事件系统学习笔记
  • 嵌入式软件架构设计之七:双机通信及通信协议之字符串协议
  • 大语言模型安全攻防:从提示词注入到模型窃取的全面防御浅谈
  • 与功能包相关的指令ros2 pkg
  • 女性成长赛道:现状与发展趋势|创客匠人
  • NumPy 中的取整函数
  • 如何在Android设备上删除多个联系人(3种方法)
  • Java项目:基于SSM框架实现的公益网站管理系统【ssm+B/S架构+源码+数据库+毕业论文+答辩PPT+远程部署】
  • 解锁高效敏捷:2025年Scrum项目管理工具的核心应用解析
  • 智慧社区物业管理平台登录流程全解析:从验证码到JWT认证
  • 关于熵减 - 双线线圈
  • 前端性能测试:从工具到实战全解析
  • 类内部方法调用,自注入避免AOP失效