要接收UDP数据报,必须绑定一个端口,来监听数据传入。
单播和广播发送消息都使用writeDatagram()函数,区别是单播向一个目标发送数据时需要指定目标IP和端口,广播时只需要将目标地址更换为一个特殊的地址,即广播地址QHostAddress::Broadcast。
QUdpSocket接收到数据报后发射readyRead()信号,可以实现槽函数来读取缓冲区的数据。
单播:若两个程序在同一台设备运行,程序A绑定端口1000,程序B绑定端口2000,那么想要互相发送消息,就需要将对方的IP地址和端口设置为目标IP和端口。
若两个程序在不同设备运行,那么两个程序可以绑定相同的端口,此时IP地址不同了,不会导致绑定冲突。一般的UDP程序都是在不同设备上运行,约定一个固定端口作为通信端口。
广播:发送者向指定端口发送数据,不在乎IP地址。所有在同一网络范围的绑定了指定端口的UDP客户端都能收到数据。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/52560.html