基于QT的UDP通信

本文介绍了UDP协议的基本特点,如无连接性、尽最大努力交付等,并探讨了其在实时应用中的重要性。接着,文章重点讲解如何在QT环境下实现UDP通信,提供了面向不同通信模式的实现方案,同时指出UDP的小型首部开销使其适用于实时数据传输,但可能引发的网络阻塞问题也需要考虑。
摘要由CSDN通过智能技术生成

UDP协议概述

用户数据报UDP只在IP的数据报服务之上增加了很少的功能,这就是复用和分用的功能以及差错检测的功能。

UDP的主要特点是:

  • UDP是无连接的,即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
  • UDP使用尽最大努力交付,不保证可靠交付。因此主机不需要位置复杂的连接状态表。
  • UDP是面向报文的。发送方的UDP对应用程序交下来的保温,在添加完首部之后就下交给IP层。
  • UDP没有拥塞控制,因此网络出现拥塞的时候不会使源主机的发送速率降低。这对某些实时应用要求是非常重要的。很多实时应用(例如IP电话、实时视频会议)要求源主机以恒定的速率发送数据,并且允许在网络发生阻塞的时候丢失一些数据,但是不允许产生很大的时延。
  • UDP支持一对一、一对多、多对一和多对多的交互通信。
  • UDP的手部开销很小,只有8个字节,比TCP的20个字节的首部相比短了很多。虽然有一些实时应用需要使用没有阻塞的UDP,但是很多的源主机同时都向网络发送高速率的实时视频流时,网络就会发生阻塞。结果大家都无法正常的接收。因此,不使用阻塞控制功能的UDP有可能会引起网络产生严重的阻塞问题。

UDP就像写信一样,而TCP就像打电话一样。

基于QT的实现 

#include "udpwidget.h"
#include "ui_udpwidget.h&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程芝士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值