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

}

}

复制代码
相关推荐
TechubNews1 小时前
Webus 与中国国际航空合作实现 XRP 支付
大数据·网络·人工智能·web3·区块链
monster_风铃2 小时前
小补充: IPv6 安全RA
网络·安全·智能路由器
计算机毕设定制辅导-无忧学长3 小时前
MQTT 与 Java 框架集成:Spring Boot 实战(一)
java·网络·spring boot
云飞云共享云桌面3 小时前
SolidWorks对电脑的硬件配置要求具体有哪些
java·服务器·前端·网络·数据库
2301_780789664 小时前
渗透测试与网络安全审计的关系
网络·数据库·安全·web安全·网络安全
Jayyih4 小时前
嵌入式系统学习Day30(udp)
网络协议·学习·udp
Pure03195 小时前
OSI七层模型与tcp/ip四层模型
服务器·网络·tcp/ip
耐达讯通信技术5 小时前
嘎嘎厉害!耐达讯自动化RS485转Profinet网关就是食品温控的“天选之子”
运维·服务器·网络·人工智能·网络协议·自动化·信息与通信
EndingCoder7 小时前
调试技巧:Chrome DevTools 与 Node.js Inspector
javascript·网络·electron·node.js·vim·chrome devtools