TCP:传输控制协议,提供的是面向连接、可靠的字节流服务。客户端和服务器端交换数据前,必须先在双方之间建立一个TCP连接,才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP:用户数据报协议,是一个简单的面向数据报的运输层协议。UDP只是把应用程序传给IP层的数据报发送出去,不能保证它们是否能到达目的地。UDP传输数据报前不建立连接,且没有超时重发等机制,故而传输速度很快。
区别:
- 基于连接和无连接 : 打电话和写信
- 对系统资源的要求
- 流模式(TCP面向字节流)与数据报模式(UDP是面向报文)
- TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证
- 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
- TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
- 传输可靠性
- 应用场合
- 传输速度
使用场景:
TCP : QQ文件传输
UDP : 实时应用,例如QQ语音、QQ视频