Qt UDP和TCP对比

一、UPD和TCP区别总结

Qt UDP和TCP对比_第1张图片

二、详细对比UDP和TCP如下:

1、TCP是面向连接的,UDP是面向无连接的

  • TCP则在通信前需要进行三次握手,UDP不需要。

  • UDP在发送端,应用层将数据传递给传输层的UDP协议,UDP只会给数据增加一个UDP头,标识是UDP协议,然后就传递给网络层了。在接收端,网络层将数据传递给传输层,UDP只去除IP报文头就传递给应用层了,不做任何拼接操作。

2、TCP可靠,UDP不可靠

  • UDP不可靠具体体现在,UDP的无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。发送数据也不会关心对方是否已经正确接收到数据。
  • 网络环境时好时坏,但是UDP是没有拥塞控制的,一直会以恒定的速度发送数据。就算网络不好,也不会对发送速率作调整,这样就会在网络不好时,可能产生丢包。
  • 优点也明显,就是对于一些实时性要求高的场景(比如电话会议)就需要UDP,因为远程视频的话,你丢一些数据(例如像素)并不影响视频的内容。

3、TCP面向字节流,UDP面向报文

  • TCP基于流的传输表示TCP不认为消息是一条一条的。

  • UDP面向报文,是有 保护消息边界 的,接收方一次只能接受一条独立的消息,所以UDP不存在粘包。

4、 TCP只有一对一传输,而UDP还可以一对多,多对多

  • UDP 不仅支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是 UDP 提供了单播,多播,广播的功能。

  • TCP不能一对多的原因是:TCP通信前要跟一台主机进行三次握手连接。

5、UDP的头部开销小,TCP的头部开销大

  • UDP的头部8个字节,TCP至少20个字节。
    Qt UDP和TCP对比_第2张图片
    Qt UDP和TCP对比_第3张图片

三、原文地址

详情原文地址:https://blog.csdn.net/u014453898/article/details/114443212?share_token=1c656e67-f459-4792-b3da-69a271364537&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_android&utm_campaign=client_share?=

四、UDP和TCP用法

  • 1、UDP用法简介
  • 2、TCP用法简介

你可能感兴趣的:(qt,udp,tcp/ip,qt)