• TCP & UDP 的区别


    一、概念

    ① TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

    “面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。

    TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

    建立连接:三次握手    1.客户端发送建立连接请求,并进入SYN_SEND状态,等待服务器确认

                              2.服务端确认连接请求,向客户端发送允许连接应答,此时服务器进入SYN_RECV状态

               3.客户端确认已经连接,向服务器发送确认,客户端和服务器进入通信状态,完成三次握手

    断开连接:四次握手   1.客户端发送请求停止TCP连接请求

                  2.服务端收到请求后将这一个socket关闭

                3.服务端发送反向请求客户端关闭socket连接

                  4.客户端确认服务端请求,关闭socket连接

    ② UDP (User Datagram Protocol 用户数据报协议) 是一种面向非连接的、一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

    “面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。

    UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境

    UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。

    二、区别

    1.TCP是面向连接的,UDP是面向非连接的

    2.TCP的传输性是可靠地,UDP的传输性不可靠

    3.TCP的传输速度缓慢,UDP的传输速度较快

    4.TCP主要应用于大量数据的传输,UDP适用于少量数据的传输(例如,QQ消息,短信)

  • 相关阅读:
    实习差不多一个月了
    多一个角度,多一分收获
    走出第一步
    .net中枚举enum的复习与实例
    瞧瞧UC浏览器对CSS样式的“关怀”
    关于cookie(基础)
    用ajax提交数据到ashx用JSON.stringify格式化参数后在服务器端取不到值?[转载至:http://q.cnblogs.com/q/34266/]
    [转载] SQL进行排序、分组、统计的10个新技巧
    css样式解决圆角等多种难解决的问题 (转载至:Lanny☆兰东才)
    让人想不通的突然button事件失灵了?(小心页面form表单嵌套)
  • 原文地址:https://www.cnblogs.com/caohexin-Blog/p/4982292.html
Copyright © 2020-2023  润新知