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 小时前
stp,rstp,mstp的区别
服务器·网络·php
小楊不秃头7 小时前
网路原理:UDP协议
网络·网络协议·udp
EndingCoder8 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
一念&9 小时前
每日一个网络知识点:网络层NAT
服务器·网络·php
wanhengidc9 小时前
云手机的多元功能应用
运维·服务器·网络·游戏·智能手机
tangweiguo0305198710 小时前
Kotlin 实现 Android 网络状态检测工具类
android·网络·kotlin
云宏信息11 小时前
【深度解析】VMware替代的关键一环:云宏ROW快照如何实现高频业务下的“无感”数据保护?
服务器·网络·数据库·架构·云计算·快照
我有一颗五叶草11 小时前
HTTP 协议
网络·网络协议·http
沐风ya12 小时前
RPC介绍
网络·网络协议·rpc
OAFD.12 小时前
YOLOv3 详解:核心改进、网络架构与目标检测实践
网络·yolo·目标检测