Qt网络编程之搭建Udp通信【单播、组播、广播】

      最后更新:2022-06-24 14:00:59 手机定位技术交流文章

      UDP通信之所以使用,是因为项目环境实际上是在本地网络中传输的。

      UDP概念

      UDP(User Data Reporting Protocol)是一种基于数据报告的传输层协议。提供非连接导向的、不可靠的数据流传输。UDP不提供可靠性,它不提供报告到达确认、排序和流量控制。它只是向IP层发送应用程序的数据信息,但不能保证他们到达目的地。因此,报告可能会丢失、重复和不一致。但由于UDP不需要在数据消息发送之前创建客户端与服务器之间的连接,而且没有机制,例如加班的复发,故而传输速度很快。

      UDP传输方式

      UDP有单播、广播、团体广播
      只有UDP有广播和多播,TCP只有点到点单播,而多播的重点是尽可能有效地向不同的、可能未知的设备发送尽可能多的同一包。

      文本包含所有代码下载地址

      下载代码。 这是文章中的全部代码。

      单播

      服务端(发送者)

      服务器端不是绑定的,你只需要在发送时指定对方的IP和端口。

      客户端(接收者)

      客户端需要预先绑定本地IP和相应的端口,然后将 readyRead信号关联,完成相应的实时读取。
      下面的代码是预绑定和相应的信号槽关联

      下面的代码是 funnel函数的实时读取,并显示在标签上。

      效果图

      在这里插入图片描述

      组播

      分组等同于根据广播加入分组.

      服务端(发送者)

      服务器端不是绑定的,你只需要在发送时指定对方的IP和端口。

      客户端(接收者)

      客户端需要绑定相应的端口,将其添加到群广播地址,然后将 readyRead信号关联起来。
      下面的代码用于预先绑定、合组和关联信号和插槽

      下面的代码是 funnel函数的实时读取,并显示在标签上。

      效果图

      在这里插入图片描述

      广播

      广播只需要一个绑定端口。

      服务器(发送者)

      你不需要被绑定,发送时只指定端口。

      客户端(接收者)

      你需要绑定所有IP地址(AnyIPv4)和相应的端口,然后将 readyRead信号关联起来,完成相应的实时阅读。
      下面的代码是预绑定和相应的信号槽关联。
      下面的代码是预绑定和相应的信号槽关联

      下面的代码是 funnel函数的实时读取,并显示在标签上。

      效果图

      在这里插入图片描述

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/28320.html

          热门文章

          文章分类