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

udp的广播,多播,单播 demo

enum class EMsgType:uint8_t
{
EMSGT_SINGLE,//单播
EMSGT_MULTICAST,//多播
EMSGT_BROADCAST,//广播
};


sendSocket =new QUdpSocket(this);
sendSocket->setSocketOption(QAbstractSocket::MulticastTtlOption, 1);
sendSocket->bind(QHostAddress::AnyIPv4, 0,QUdpSocket::ShareAddress|QUdpSocket::ReuseAddressHint);

在这里插入图片描述



void MainWindow::SendUdpData(const QByteArray &SendData, const QHostAddress &ip, quint16 port, EMsgType msgType)
{
cout<<"ip: “<<ip<<”, port: "<<port;
//广播
if(msgType == EMsgType::EMSGT_BROADCAST)
{
cout<<“EMsgType::EMSGT_BROADCAST:”<writeDatagram(SendData,QHostAddress::Broadcast,port);
}
else if(msgType == EMsgType::EMSGT_MULTICAST)
{
//多播
sendSocket->joinMulticastGroup(QHostAddress(ip));
cout<<“EMsgType::EMSGT_MULTICAST:”<writeDatagram(SendData,QHostAddress(ip),port);
}
else
{
//单播
sendSocket->leaveMulticastGroup(QHostAddress(ip));
cout<<“EMsgType::EMSGT_SINGLE:”<writeDatagram(SendData,QHostAddress(ip),port);
}

}


http://www.kler.cn/a/308445.html

相关文章:

  • SQL,力扣题目1127, 用户购买平台
  • 【2024软考架构案例题】你知道 Es 的几种分词器吗?Standard、Simple、WhiteSpace、Keyword 四种分词器你知道吗?
  • 响应式网页设计--html
  • Qt 和 WPF(Windows Presentation Foundation)
  • 性能测试|JMeter接口与性能测试项目
  • influxDB 时序数据库安装 flux语法 restful接口 nodjsAPI
  • 沉浸式利用自然语言无代码开发工具生成式AI产品应用(下)
  • leetcode 42 接雨水
  • 【SQL】百题计划:SQL内置函数“LENGTH“的使用
  • c++ 线程库
  • 汽车英文单词缩写汇总
  • C++学习笔记(27)
  • Rust: Warp RESTful API 如何得到客户端IP?
  • Notepad++中提升编码效率的关键快捷键
  • C++:opencv计算轮廓周长--cv::arcLength
  • 如何快速入门 Vue 3
  • MySQL基础篇(黑马程序员2022-01-18)
  • xilinx hbm ip运用
  • 自定义类型:联合和枚举
  • Java零基础-Java对象详解
  • 5. Python之数据类型
  • JVM字节码与局部变量表
  • 苹果手机铃声怎么设置自己的歌?3个方法自定义手机铃声
  • C++——多线程编程(从入门到放弃)
  • VirtualBox Install MacOS
  • 如何迈向IT行业的成功之路