总的来说
TCP协议提供可靠的服务,
UDP协议提供高效率的服务。

高可靠性的TCP服务提供面向连接的服务,主要用于一次传输大量报文的情形,
如文件传输,远程登录等;

高效率的UDP协议提供无连接的数据报服务,用于一次传输少量的报文。
即使发生传输错误,也可以重新传输并且不会为此付出多少代价。

TCP提供的是面向连接的、可靠的数据流传输,可避免数据传输错误。
面向连接的协议在任何数据传输前就建立好了点到点的连接。

而UDP提供的是非面向连接的、不可靠的数据流传输。当一个UDP数据包在网络中移动时,
发送过程并不知道它是否到达了目的地,除非应用层已经确认了它已到达的事实。
当数据传输的性能必须让位于数据传输的
完整性、
可控制性
可靠性时,
TCP协议是当然的选择。
当强调传输性能而不是传输的完整性时,
如:音频和多媒体应用,
UDP是最好的选择。
在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下
UDP也是一个好的选择
,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,
UDP较低的开销使其有更好的机会去传送管理数据。

总结 tcp 提供可靠的服务 若强调 完整性 可靠性可控性 选择tcp
udp 提供高效的服务 若强调 传输性能 选择udp

TCP:
面向连接、传输可靠(保证数据正确性,保证数据顺序)、
用于传输大量数据(流模式)、速度慢,建立连接需要开销较多
(时间,系统资源)。
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。

最新文章

  1. CSS实现小三角小技巧
  2. mac终端显示和隐藏隐藏文件的命令
  3. 手把手教你搭建SpringMVC——最小化配置
  4. e.stopPropagation();与 e.preventDefault();
  5. Oracle 安装 检查操作系统版本 必须是 5.0 5.1 的解决办法
  6. Angularjs 初始化框架
  7. JDK1.8 HashMap中put源码分析
  8. android 随手记 自定义广播通知栏
  9. Git学习笔记01--初始化设置
  10. JMeter一个错误the target server failed to respond--JMeter坑
  11. 面试题之——将文件夹下java文件写入到新的文件夹,并修改扩展名
  12. pwd显示链接文件的真实路径
  13. POJ 2352 && HDU 1541 Stars (树状数组)
  14. nginx实战
  15. cocos creator主程入门教程(三)—— 资源管理
  16. Loj #2495. 「AHOI / HNOI2018」转盘
  17. Windows API教程文件系统
  18. 【转】 glibc detected *** corrupted double-linked list:错误的原因有如下三种可能
  19. 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。
  20. Codeforces Round #519

热门文章

  1. Spring集成CXF发布WebService并在客户端调用
  2. Django学习路3
  3. 4-Pandas之数据类型与数据筛选
  4. Python os.fdatasync() 方法
  5. 7.28 NOI模拟赛 H2O 笛卡尔树 并查集 贪心 长链剖分
  6. Jenkins总结3-shell脚本
  7. 【NOI2017】游戏 题解(2-SAT+缩点)
  8. ipa包如何打包?ios打包ipa的四种方法分享
  9. 基于 JavaEmail 简单的发送邮件点到点,一对多(图片和附件)之多收件人,多少送人
  10. ThreadLocal刨根问底