UDP和TCP的区别
2019-07-17 本文已影响0人
今天不想掉头发
转自:https://blog.csdn.net/li_ning_/article/details/52117463
相同点:UDP和TCP都是用于进程到进程间的通信
区别:
1.UDP是无连接、不可靠的运输协议;TCP是有链接,可靠的运输协议;
2.UDP是数据包模式,每个数据包都是相互独立的;TCP是中的数据是以字节流的形式存在的,因此,没有明确的数据边界,并且由于Nagle算法的影响,会存在所谓的“拆包,粘包”问题的,需要在应用层定义明确的数据边界。
3.UDP8字节头部,TCP20~60字节头部。
4.TCP通过流量控制,拥塞控制,差错控制来保证数据的可靠性和有序性,避免网络拥塞;UDP则没有。
5.TCP连接只能是点对点,一对一的;UDP支持一对一,一对多,多对一和多对多的交互通信。
6.套接字编程的时候TCP使用SOCK_STREAM;UDP使用SOCK_DGRAM。
7.UDP比较快速,不需要提前建立连接;TCP比较慢,因为每次都需要经过3次握手。
8.套接字编程的不同

