2025年udp广播地址(udp广播端口号要固定吗)

udp广播地址(udp广播端口号要固定吗)nbsp QT 编写 TCP UDP 调试助手之 UDP 通信 支持单播 组播和广播三种通信模式 UDP 用户数据报协议 是一种简单轻量级 不可靠 面向数据报 无连接的传输层协议 也就是发送数据前不需要握手连接 只要知道 IP 和端口号就能发送数据 但是对方能不能收到 收到的对不对就不得而知了 UDP 通信中分为三种通信方式 分别为单播 组播和广播 主要就是 IP 的区别 1 在

大家好,我是讯享网,很高兴认识大家。



 QT编写TCP/UDP调试助手之UDP通信,支持单播、组播和广播三种通信模式。

springboot集成netty udp 组播绑定组播地址和端口监听消息的dem_IP
讯享网

springboot集成netty udp 组播绑定组播地址和端口监听消息的dem_IP_02

UDP(用户数据报协议)是一种简单轻量级、不可靠、面向数据报,无连接的传输层协议,也就是发送数据前不需要握手连接,只要知道IP和端口号就能发送数据,但是对方能不能收到,收到的对不对就不得而知了。

UDP通信中分为三种通信方式,分别为单播、组播和广播,主要就是IP的区别。

1.在.pro文件中添加QT += network,包含头文件#include <QUdpSocket>

在类里定义一个QTcpSocket*成员m_udpSocket

 

2.界面校验设置。界面上有四个lineEdit用来填写IP和端口,通过setValidator可以限制lineEdit输入的范围,端口号范围0-65535,IP地址用正则表达式校验,防止输入错误。

springboot集成netty udp 组播绑定组播地址和端口监听消息的dem_单播组播广播_03

3.绑定端口,绑定端口后收到数据时会发射readyRead()信号

4.接收数据槽函数,注意和TcpSocket不同,不是直接调用readAll()

5.选择组播通信模式时,可以勾选加入组播,接收组播数据。

springboot集成netty udp 组播绑定组播地址和端口监听消息的dem_QT_04

组播是udp实现一对多通信的一种方式,一个udp客户端往该IP发消息,加入该组的客户端都会收到消息。组播IP地址为D类地址,范围224.0.0.0~239.255.255.255。

5.1判断IP地地址在224.0.0.0~239.255.255.255范围内

5.2加入退出组播IP组,加入后有数据会发射readyRead()信号,就能接收数据了

 

6.发送数据,调用m_udpSocket->writeDatagram(byteArray,ip,port)发送,单播、组播和广播就是IP不同,这里就体现出来了。

6.1单播:IP地址任意,例如:

6.2组播:IP是D类地址,范围224.0.0.0~239.255.255.255,有加入组的客户端才会收到数据,例如:

6.3广播:IP设置为QHostAddress::Broadcast,相当于QHostAddress(“255.255.255.255”).,广播数据会发送给局域网内的每个客户端,例如:

7.注意事项

前面都在说IP,其实端口也很重要,端口一定要对应,不然会收不到数据,例如:

7.1组播通信,本地绑定的是192.168.206.1:6666,并加入组播IP 224.0.0.2。对方往224.0.0.2:1234发数据本地是收不到的,因为端口不对,要往224.0.0.2:6666发才收得到。

7.1广播也是如此,writeDatagram(byteArray,QHostAddress::Broadcast,1234);广播发的是1234端口,那局域网内的客户端也必须绑定的是1234端口,才会收到数据。

tcp/udp调试助手

小讯
上一篇 2025-04-15 12:48
下一篇 2025-05-16 19:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146397.html