首页 > 其他分享 >UDP发广播给所有网卡(包含虚拟网卡)

UDP发广播给所有网卡(包含虚拟网卡)

时间:2022-10-31 21:05:49浏览次数:76  
标签:UDP broadcastAddress ip 网卡 虚拟 QHostAddress entry QNetworkInterface

//给所有网卡发广播
QList<QNetworkInterface> networkinterfaces = QNetworkInterface::allInterfaces();
foreach (QNetworkInterface interface, networkinterfaces)
{
foreach (QNetworkAddressEntry entry, interface.addressEntries())
{
QHostAddress broadcastAddress = entry.broadcast();
if (broadcastAddress != QHostAddress::Null
&& entry.ip() != QHostAddress::LocalHost
&& entry.ip().protocol() == QAbstractSocket::IPv4Protocol
)
{
udpSocketServer.writeDatagram(datagram, broadcastAddress, 13999); // UDP 发送数据
}
}
}

可以把其中的onServerSendBroadcast()函数用以下函数替换一下,就可以给机器内所有网卡发广播了

void UDPServerAndClient::onServerSendBroadcast()
{
QByteArray datagram;
QDataStream out(&datagram, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_5_6);
out << QDateTime::currentDateTime() << QHostInfo::fromName(QHostInfo::localHostName()).addresses().last().toString();

//给所有网卡发广播
QList<QNetworkInterface> networkinterfaces = QNetworkInterface::allInterfaces();
foreach (QNetworkInterface interface, networkinterfaces)
{
foreach (QNetworkAddressEntry entry, interface.addressEntries())
{
QHostAddress broadcastAddress = entry.broadcast();
if (broadcastAddress != QHostAddress::Null
&& entry.ip() != QHostAddress::LocalHost
&& entry.ip().protocol() == QAbstractSocket::IPv4Protocol
)
{
udpSocketServer.writeDatagram(datagram, broadcastAddress, 13999); // UDP 发送数据
}
}
}
}

标签:UDP,broadcastAddress,ip,网卡,虚拟,QHostAddress,entry,QNetworkInterface
From: https://blog.51cto.com/u_15854865/5811258

相关文章

  • HCIA-FusionCompute虚拟化产品
    FusionCompute定义云操作系统的软件,负责虚拟,业务,用户资源的调度和管理同类产品Hyper-v,VMware,KVM,XEN架构FusionComputeVRMWEBUICNAVNA,UVP(VMM)......
  • HCIA-虚拟化网络基础
    网络基础网络架构传统网络南北向流量为主,实现服务器与用户交互的流量云计算网络东西流量为主,实现虚拟机的通信及虚拟机热迁移的流量物理网络设备路由器......
  • HCIA-虚拟化存储基础
    存储基础存储网络架构DAS(直连式)定义直接连接到服务器的指定存储设备,为服务器提供块服务分类内部DAS(本地硬盘)外部DAS缺点接口数量少,链路长度有限制......
  • HCIA-虚拟化特性
    虚拟化特性站点一组集群的集合系统接口管理接口为管理员提供可视化界面,负责VRM与CNA的交互业务接口为用户提供接入路径,承载虚拟机热迁移流量和SAN心跳流量......
  • 【多服务场景化解决方案】AR虚拟技术助力智能家装
    ​1、介绍 总览本应用采用了华为图形引擎服务的AR虚拟技术,您可以在手机相机里摆放想要购置的家具家电,交互式体验让您可以轻松操控它们的3D图例,以此来确定这些家具家......
  • 本机与虚拟机互ping,但本机无法访问虚拟机Web服务
    本机与虚拟机互ping,但本机无法访问虚拟机Web服务环境虚拟机ubuntu20.0问题描述:本机和虚拟机都可以互相ping通,本机可以访问虚拟机的mysql、mongo服务,但始终访问不了自......
  • Centos7虚拟机,共享主机文件夹挂载,运行go中带c的程序
    md由于不会用java去转c写的加密,就必须用公司原来的加密方法,原来的是c写的,然后跟go结合着用,问题就是在windows上装了c的环境还是不能跑加密的,所以只能先试试用Linux的系统能......
  • IDEA配置tomcat虚拟路径
    myeclipse配置虚拟路径的话需要去改tomcat配置文件,但是idea比这方便许多,直接配置即可,配置方式如下:在下图中选中你想用来作为虚拟路径的那个文件夹我这里已经选好了,是qyBlog......
  • CentOS如何增加虚拟内存
    1、查看磁盘使用情况free-h而Mem就表示购买阿里云时候的内存,我们能够看到只有1.8G,并且已经使用了1.7G。因为我之前增加了交换空间4G,所以Swap会显示4G,并且已经使用了1G......
  • 虚拟人物多少钱能做出来?虚拟数字人定制广州华锐互动
    近几年,元宇宙相关产业迎来大爆发,“虚拟人”的概念也由之催生。虚拟主播、虚拟偶像、虚拟游戏角色相继出现,并受到人们的追捧,越来越多的虚拟数字人进入了大众视野,似乎已成融......