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

}

}

复制代码
相关推荐
眷蓝天4 小时前
OSI七层模型
网络
云安全助手7 小时前
弹性云服务器+高防IP:让DDoS攻击不再是业务“生死劫”
运维·网络·安全
Hello_Embed9 小时前
嵌入式上位机开发入门(二十六):将 MQTT 测试程序加入 APP 任务
网络·笔记·网络协议·tcp/ip·嵌入式
亚空间仓鼠10 小时前
网络学习实例:网络理论知识
网络·学习·智能路由器
上海合宙LuatOS11 小时前
LuatOS扩展库API——【libfota2】远程升级
网络·物联网·junit·luatos
pengyi87101511 小时前
动态IP池快速更换实操方案,5分钟完成IP替换
服务器·网络·tcp/ip
平升电子DATA8612 小时前
地下管网(污水/雨水管网)流量怎么监测?
网络
被摘下的星星12 小时前
以太网技术
服务器·网络
24zhgjx-lxq13 小时前
OSPF的网络类型:NBMA和P2MP
网络·智能路由器·hcip·ensp·ospf
Johnstons13 小时前
丢包率不高但应用仍然卡顿?一次基于 tcpdump +RTT抽样的网络性能排障实战
网络·wireshark·php·tcpdump