4.2.1 UDP概述
UDP主要特点:
(1)UDP是无连接的。发送数据之前不需要建立连接(发送数据结束时也没有连接可释放),减少了开销和发送数据之前的时延;
(2)UDP使用尽最大努力交付。主机不需要维持复杂的连接状态表 ;
(3)UDP是面向报文的。发送方的UDP对应用程序交付下来的报文,添加首部后就向下交互到IP层(网络层),也就是说,应用层交付给UDP多长的报文,UDP就照样发送,即一次发送一个报文。接收方的UDP对IP层交付上来的报文,取出首部后就原封不动的向上交付到应用程序,也就是说,UDP一次交付一次完整的报文。报文太长太短都会影响IP层的效率(书P184)。
UDP是面向报文的
(4)UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。很多实时应用要求源主机以恒定的速率发送数据,允许在网络发送拥塞(se\)时丢失一些数据,但缺不允许数据有太大的时延,UDP正好使用这种要求。
(5)UDP支持一对一、一对多、多对一和多对多的交互同信;
(6)UDP的首部开销小,只有8字节,TCP20字节。
4.2.2 UDP的首部格式
UDP用户数据报的首部和伪首部
IP数据报的检验和 只检验IP数据报的首部,而UDP检验和 是把首部和数据部分一起都检验的。
UDP发送实例(IP为远程主机IP,端口为远程主机的端口)
QT例程
UDP接收实例(绑定的IP为本地IP,端口为本地的端口)
QT例程