要接收UDP数据报,必须绑定一个端口,来监听数据传入。
单播和广播发送消息都使用writeDatagram()函数,区别是单播向一个目标发送数据时需要指定目标IP和端口,广播时只需要将目标地址更换为一个特殊的地址,即广播地址QHostAddress::Broadcast。
QUdpSocket接收到数据报后发射readyRead()信号,可以实现槽函数来读取缓冲区的数据。
单播:若两个程序在同一台设备运行,程序A绑定端口1000,程序B绑定端口2000,那么想要互相发送消息,就需要将对方的IP地址和端口设置为目标IP和端口。
若两个程序在不同设备运行,那么两个程序可以绑定相同的端口,此时IP地址不同了,不会导致绑定冲突。一般的UDP程序都是在不同设备上运行,约定一个固定端口作为通信端口。
广播:发送者向指定端口发送数据,不在乎IP地址。所有在同一网络范围的绑定了指定端口的UDP客户端都能收到数据。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/27850.html