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&