zoukankan      html  css  js  c++  java
  • TCP与UDP的区别

    TCP是面向连接的,可靠的,传输协议
    UDP是无连接的,不可靠的,传输协议

    两者的比较

    1....是否需要建立连接...
    使用UDP时,每个数据报文都包含完整的源地址以及目的地址,因此发送数据之前不需要建立发送方和接收方的连接。
    TCP协议是一个面向连接的协议,发送方和接收方的成对的两个socket之间必须首先建立连接才能进行数据传输。

    2....能够传输的数据的大小...
    使用UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。
    TCP没有这方面的限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大量的数据。

    3....接受数据的正确性...
    UDP使用尽最大努力交付,不保证可靠数据传输,而且到达的顺序与发送的顺序也不一定一样。TCP提供可靠交付的服务,接收方得到的是一个顺序的,无差错的数据流.

    4....UDP是面向报文的,UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,在添加首部之后就向下交付给IP层。Tcp是面向字节流的,TCP中的流指的是流入到进程或者从进程流出的字节序列。TCP把应用程序交下来的数据块看成是一连串的无结构的字节流

    5....效率。。
    UDP的效率比TCP高.

    6....UDP没有流量控制和拥塞控制,而TCP有。

    既然有了保证可靠传输的TCP协议,为什么还要非可靠传输的UDP协议呢?
    主要的原因有两个。
    一是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间.和网络的带宽,因此TCP传输的效率不如UDP高
    – 二是在许多应用中并不需要保证严格的传输可靠性,比如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些.



  • 相关阅读:
    HTTP协议 学习笔记一
    web发展历史
    Easydarwin加FFMPEG实现HLS流视频点播
    C# Socket异步实现消息发送--附带源码
    C# Activex调用USB摄像头--附带源码
    C# listbox DataSource数据绑定--一年半以前的bug
    ASP.NET MVC WebAPI实现文件批量上传
    ASP.NET MVC使用SignalR统计在线用户人数
    Chart.js Y轴数据以百分比展示
    Java获取字符串信息
  • 原文地址:https://www.cnblogs.com/winner-0715/p/5032995.html
Copyright © 2011-2022 走看看