zoukankan      html  css  js  c++  java
  • 什么情况下适合用UDP协议,什么情况下适合用TCP协议?

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

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

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

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

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

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

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

  • 相关阅读:
    重新认识布局:html和body元素
    重新认识布局:3d空间中的css盒子
    重新认识布局:百分比单位
    重新认识布局:标准流,浮动,定位的关系
    Redis(1.7)Redis高可用架构与数据库交互(理论篇)
    C++: 模块定义文件声明(.def)的使用
    HttpListener supports SSL only for localhost? install certificate
    跨域请求引起的 OPTIONS request
    html 浏览器自动加上 标签的详解
    c# HttpServer 的使用
  • 原文地址:https://www.cnblogs.com/Diyo/p/11429043.html
Copyright © 2011-2022 走看看