二者都是有用的和常用的, 如果纯粹从概念上区分二者就比较费解了, 我们直接从功能上进行区分, 简单明了:
1、这两种传输协议也就是合于适配不同的业务和不同的硬件终端。在使用中, 类似于图像、 声音等对可靠性要求没有那么高的业务可以用 UDP, 他们不
需要准确存储对准确性无要求但要求速度快。
2、类似于文本、 程序、 文件等要求可靠的数据最好就用 TCP, 但会牺牲一些速度。
3、对系统资源的要求: TCP 较多, UDP 少。
4、程序结构: UDP 程序结构较简单, TCP 复杂。
5、流模式与数据报模式:TCP 保证数据正确性, UDP 可能丢包; TCP 保证数据顺序, UDP不保证数据顺序
6、TCP 是面向连接的, 有比较高的可靠性, 一些要求比较高的服务一般使用这个协议,如 FTP、 Telnet、 SMTP、 HTTP、 POP3 等; 而 UDP 是面向无连接的, 使用这个协议的常见服务有 DNS、 SNMP、 QQ 等。
7、UDP 是一种面向无连接的通信协议, 该协议使得数据传输的速度得到大幅度的提高。 视频聊天语音聊天基本都是用 UPD 协议。
另外有关毕老师视频的总结:
UDP:
1、 将数据源和目的地封装到数据包中, 不需要建立连接
2、 每个数据包的大小限制在 64k 以内
3、 因无连接, 是不可靠协议
4、 不需要建立连接, 速度快
例子: 聊天、 对讲机就是 UDP ]的, 面向无连接(不管在不在, 知不知道, 只管发送, 求速度), 丢数据也不管。 速度快。 数据被分成包
TCP:
1、 建立连接, 形成传输数据的通道
2、 在连接中进行大量数据的传输
3、 通过三次握手完成连接、 是可靠协议
4、 必须建立连接, 效率会稍低
例子: 电话通话, 必须连接, 对方同意才可以发送数据(不然就等待), 不能丢失数据
|
|