首页 > 其他分享 >Qt之UDP多播(组播)的使用

Qt之UDP多播(组播)的使用

时间:2023-12-01 21:00:29浏览次数:47  
标签:多播 UDP 组播 socket ip udp QUdpSocket qDebug UdpSocket

UdpSocket::UdpSocket(QObject *parent) : QObject(parent)
{
    //本机IP
    QString local_ip = "192.168.101.11";

    m_udp_socket = new QUdpSocket(this);
    connect(m_udp_socket, &QUdpSocket::readyRead, this, &UdpSocket::received_data);

    int ret = m_udp_socket->bind(QHostAddress(local_ip), MULTI_CAST_PORT, QUdpSocket::ShareAddress);
    if (!ret) {
        qDebug()<<"bind multi cast failed...";
    }

    QHostAddress multi_address(MULTI_CAST_IP);
    bool join_result = m_udp_socket->joinMulticastGroup(multi_address);
    if (!join_result) {
        qDebug() << "add multi cast group failed...";
    }

}

void UdpSocket::received_data()
{
    QByteArray buffer;
    buffer.resize(m_udp_socket->pendingDatagramSize());
    m_udp_socket->readDatagram(buffer.data(), buffer.size());

    qDebug() << "buffer:" << buffer;
}

  

标签:多播,UDP,组播,socket,ip,udp,QUdpSocket,qDebug,UdpSocket
From: https://www.cnblogs.com/TechNomad/p/17870860.html

相关文章

  • UDP通信
    一、UDP概述传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维......
  • C/C++ 运用Npcap发送UDP数据包
    Npcap是一个功能强大的开源网络抓包库,它是WinPcap的一个分支,并提供了一些增强和改进。特别适用于在Windows环境下进行网络流量捕获和分析。除了支持通常的网络抓包功能外,Npcap还提供了对数据包的拼合与构造,使其成为实现UDP数据包发包的理想选择。本章将通过Npcap库构造一......
  • Centos系统udp丢包&内核参数优化
    echo0>/proc/irq/31/smp_affinity_listecho1>/proc/irq/33/smp_affinity_list这两个命令是用于设置Linux中中断处理程序的亲和性,以提高系统的性能和稳定性。在Linux系统中,系统中断(IRQ)是由硬件触发的,它们通常被用于处理来自硬件设备的请求(例如,网络接口卡、磁盘控制器......
  • WebRTC ,P2P, UDP,NAT,信令,socket
    为什么WebRTC使用UDP?NAT穿透需要UDP。没有NAT穿透,就无法建立P2P连接。UDP不像TCP那样"保证送达“,因此WebRTC在用户级别提供这一特性。你提到的是正确的,NAT(网络地址转换)穿透通常需要使用UDP协议。NAT是一种网络技术,用于将私有IP地址转换为公共IP地址,以便在互联......
  • UDP分片和丢包与TCP效果对比
    UDP分片与丢包,UDP真的比TCP高效吗?UDP(用户数据报协议)和TCP(传输控制协议)在很多方面都有显著的区别。总体来说,TCP更适合需要可靠传输的应用,例如网页浏览、电子邮件等,而UDP则更适合对速度有高要求,但对数据完整性要求较低的应用,例如实时视频流或游戏。在多数网络环境下,TCP比UDP更......
  • 基于CH32V307的组播应用
    概述组播是主机间一对多的通讯模式,组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。......
  • C#实现抓包,并过滤UDP
    C#实现抓包,并过滤UDPusingPacketDotNet;usingSharpPcap;usingSharpPcap.LibPcap;usingSystem;usingSystem.Linq;usingSystem.Net.Sockets;usingSystem.Text;namespaceConsoleAppSharppcap{internalclassProgram{staticvoidMain(string[]a......
  • mysql5.7安装插件udp(lib_mysqludf_sys)
    项目应用中需要用mysql执行一下命令行.几经搜索可以安装lib_mysqludf_sys插件可以实现本地window环境安装(mysql8.0,64位,使用lib_mysqludf_sys.dll文件)--查看环境中插件目录showvariableslike'%plugin%';--plugin_dir C:/mysql/lib/plugin/--将lib_mysqludf_sys......
  • 有趣的Java之网络多线程——UDP编程
    UDP编程通信基本介绍类DatagramSocket和DatagramPacket【数据包/数据报】实现了基于UDP协议网络程序。UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能安全送到目的地,也不确信什么时候可以抵达。DatagramPacket对象封装了UDP数据报,在数据报中包含了发......
  • 推荐一些socket工具,TCP、UDP调试、抓包工具
    推荐一些socket工具,TCP、UDP调试、抓包工具https://www.cnblogs.com/porter/p/7838753.html如何使用TCP|UDPSOCKET调试工具联机超高频读卡器HXU7881-6DBI/IPhttps://zhuanlan.zhihu.com/p/648752372?utm_id=0......