• TCP和UDP协议区别


    TCP协议----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    1. 什么是TCP协议

      ①. 概念:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义

      ②. 重点是此协议中有两个类Socket 和ServerSocket 其中有一些方法,能够实现在两个不同的终端之间传输数据(客户端-服务端)

    2. TCP的特点

      ①. Java中使用Socket实现TCP程序开发,使用此类可以方便的建立可靠的,双向的,持续的,点对点的通讯连接。

      ②. 在Socket程序开发中,服务器端使用ServerScoket等待客户端的连接,在Java的网络程序中,每一个客户端都使用Socket对象表示。

      

      ③. TCP的三次握手

      

      第一次握手:建立连接时,客户端发送SYN包到服务器,并进入发送状态,等待服务器确认。

      第二次握手:服务器收到SYN包,必须确认客户的SYN,同时自己也送一个SYN包,即SYN+ACK包,此时服务器进入 接受状态。

      第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入已建立状态,完成三次握手。

    UDP协议----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    1. 什么是UDP协议

      ①. 概念: UDP (User Datagram Protocol)用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务

      ②. TCP的所有操作必须建立可靠的连接,这样会浪费很大的性能,为此UDP这种不可靠的连接出现并成为聊天工具的宠儿。

      ③. UDP开发中使用DatagramPacket包装一条要发送的信息,之后使用DatagramSocket完成发送操作,也能够实现在两个终端之间传输数据。

    TCP与UDP的区别------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    1. 基于连接与无连接 ;

    2. 对系统资源的要求(TCP较多,UDP少) ;

    3. UDP程序结构较简单 ;

    4. 流模式与数据报模式 ;

    5. TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证;

    UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。 

    TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。

    与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。

    相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收顺序。


     
      
      
      
      
      
      
      
      
      
      
      
      
     
     
     

  • 相关阅读:
    HTTP请求行、请求头、请求体详解
    json_encode里面经常用到的 JSON_UNESCAPED_UNICODE和JSON_UNESCAPED_SLASHES
    php 使用fsockopen 发送http请求
    PHP与Nginx之间的运行机制以及原理
    用户对动态PHP网页访问过程,以及nginx解析php步骤
    sql优化的几种方法
    mysql锁2
    CentOS 7.4系统优化/安装软件
    Linux基本操作命令
    使用远程管理工具Xshell
  • 原文地址:https://www.cnblogs.com/mengqimoli/p/8552112.html
Copyright © 2020-2023  润新知