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

}

}

复制代码
相关推荐
AOI小白新手上路1 分钟前
DRSformer·论文蒸馏笔记:可学习 Top-k 稀疏注意力去雨网络
网络·笔记·学习
你的强来了9986 分钟前
WCHToolKit场景实战
网络·串口·调试·usb·ble·分析
DevOps前进四2 小时前
光模块与跳线
网络
蜡台2 小时前
AI Agent 架构终极教程:从原理分层、四大范式到生产级落地实战
网络·人工智能·架构
为思念酝酿的痛3 小时前
数据链路层--帧传输与链路控制
网络·网络协议·计算机网络·数据链路层
头发还在的女程序员3 小时前
【无标题】
网络·数据库·短剧小程序·短剧系统·海外短剧·短剧后台
Gauss松鼠会4 小时前
【GaussDB】破除gaussdb ugin索引支持中文模糊查询的迷思-字符序
java·运维·服务器·网络·数据库·gaussdb·经验总结
luiyarch4 小时前
汽车电子ISO 21448 SOTIF系列(第26期):未知危险场景的确认方法(下)——AI驱动的场景发现
网络·人工智能·安全·车载系统·汽车
砚凝霜4 小时前
【软考信息安全】第十六章 网络安全风险评估项目流程与应用
网络·安全·web安全