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

}

}

复制代码
相关推荐
Xの哲學1 小时前
Linux NAPI 架构详解
linux·网络·算法·架构·边缘计算
造价女工3 小时前
视频监控系统原理与计量
网络·音视频·状态模式·消防·工程造价
wacpguo4 小时前
centos 配置网络
linux·网络·centos
子燕若水4 小时前
TLS/SSL加密通信过程全解
网络·网络协议·ssl
细节控菜鸡4 小时前
【2025最新】APP开启了SSL无法被抓包,如何进行调试
网络·网络协议·ssl
VernonJsn5 小时前
使用C++99语言开发ModbusTCP通讯
网络
Tony Bai5 小时前
【Go 网络编程全解】12 本地高速公路:Unix 域套接字与网络设备信息
开发语言·网络·后端·golang·unix
-曾牛5 小时前
深入浅出 SQL 注入
网络·sql·安全·网络安全·渗透测试·sql注入·盲注
想学全栈的菜鸟阿董6 小时前
LangGraph智能体架构核心概念
网络·架构
乐大师6 小时前
手动安装联想打印机2268w驱动
网络·打印机