UDP和TCP的区别

xiaoxiao2021-02-27  271

  1、双方都是一种 网络传输协议   2、TCP需要建立连接,而UDP不需要建立连接(无连接传输)   3、是否建立真实连接的特性, 造成了双方可靠性的差距。    TCP属于可靠的传输协议:因为传输前双方建立好了连接,相当于买卖双方建立好了交易合同,传输中一般不会出现意外,直到连接终止;    UDP属于不可靠的传输协议:UDP的所谓连接相当于一种映射,UDP单方面的认 为目标地址(端口)是可用的,从而进行收发数据,而实际上目标地址(端口)未必可用,所以传输数据不可靠   4、由于TCP需要建立真实的连接,所以需要消耗服务器的负载要大于UDP 5、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信 (TCP)传输控制协议,是一种提供可靠数据传输的通用协议。 (UDP)用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差。 具体编程时的区别    1.socket()的参数不同  编程区别    通常我们在说到网络编程时默认是指TCP编程,即用前面提到的socket函数创建一个socket用于TCP通讯,函数参数我们通常填为SOCK_STREAM。即socket(PF_INET, SOCK_STREAM, 0),这表示建立一个socket用于流式网络通讯。     SOCK_STREAM这种的特点是面向连接的,即每次收发数据之前必须通过connect建立连接,也是双向的,即任何一方都可以收发数据,协议本身提供了一些保障机制保证它是可靠的、有序的,即每个包按照发送的顺序到达接收方。    而SOCK_DGRAM这种是User Datagram Protocol协议的网络通讯,它是无连接的,不可靠的,因为通讯双方发送数据后不知道对方是否已经收到数据,是否正常收到数据。任何一方建立一个socket以后就可以用sendto发送数据,也可以用recvfrom接收数据。根本不关心对方是否存在,是否发送了数据。它的特点是通讯速度比较快。 大家都知道TCP是要经过三次握手的,而UDP没有。 
转载请注明原文地址: https://www.6miu.com/read-3374.html

最新回复(0)