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);

}

}

复制代码
相关推荐
编程牛马姐6 小时前
独立站SEO流量增长:提高Google排名的优化方法
前端·javascript·网络
2401_873479406 小时前
如何从零搭建私有化IP查询平台?数据采集、清洗、建库到API发布全流程
服务器·网络·tcp/ip
FS_Marking8 小时前
CWDM vs DWDM:区别是什么?
网络
Vis-Lin8 小时前
BLE 协议栈:ATT 协议详解
网络·物联网·网络协议·iot·ble
lcxc8 小时前
Mac M4超流畅运行Win版同花顺教程
网络
W.A委员会9 小时前
常见网络攻击
网络·http·网络安全
zmj3203249 小时前
CAN数据帧详解
网络·can·canfd·数据帧
无心水9 小时前
OpenClaw技术文档/代码评审/测试用例生成深度实战
网络·后端·架构·测试用例·openclaw·养龙虾
深蓝海拓10 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十)框架初成的阶段总结
网络·笔记·python·学习·ui·plc
白羊by10 小时前
Softmax 激活函数详解:从数学原理到应用场景
网络·人工智能·深度学习·算法·损失函数