TCP的三次握手和四次挥手

  客户端向服务端请求数据的过程中,如果是TCP协议,则需经历TCP的三次握手和四次挥手,其中具体的过程如下:

  三次握手

  

  这个过程其实就是确认对方的收发功能是否都正常的功能,形象表示如下:

  

  这就好比我们在打电话时,听到电话里有声音--->说明对方说话正常;自己询问听不听得清后对方给了回应-->说明对方听话正常;这里也是如此:

  TCP第一次握手:服务器知道客户端发能正常发送消息;

  TCP第二次握手:客户端知道服务器能正常接收消息和发送消息;

  TCP第三次握手:服务器知道客户端发能正常接收消息;

  四次挥手

  

  以上这个图是我在网上找的,通俗一点解释如下:

  TCP第一次挥手:客户端对服务端说:我不再向你发送数据了,你也停了吧;

  TCP第二次挥手:服务端对客户端说:好我知道了,你耐心等一下,我这边开始处理了(此时服务端仍向客户端发送数据);

  TCP第三次挥手:服务端对客户端说:行啦,弄完了,我也不再向你发送数据了,那我们就这么中断吧?;

  TCP第四次挥手:客户端对服务端说:哦,这么久才弄完,好了中断吧。(在进行第四次挥手后,双方都会等待一小段时间,在这段时间内如果客户端没有再收到服务端的重发消息,就正式中断;而服务端收到来自客户端的第四次挥手后,也正式中断,双方进入closed状态)

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

tcp编程、socket编程、redis

tcp编程(需要建立连接,三次握手,四次挥手,然后发送信息流,数据包是有序的)udp编程(知道IP、端口直接发送数据,数据包可能是无序的)1、客户端和服务器客!(http

TCP基础 —— 为什么建立连接需要三次握手,而断开连接则需要四次?能不能是三次?

一、TCP包概述一个segment包含header和data两个部分,对于这篇文章需要理解的就是,Sequencenumber和Acknowledgementnumber)这两个字段。TCP的可靠传输就是基于这两个字段来实现的。虽然文章的主旨是三次握手(threewayhandshake)与四次挥手(

TCP的三次握手与四次挥手

TCP的三次握手与四次挥手一、TCP(TransmissionControlProtocol传输控制协议)TCP是面向对连接,可靠的进程到进程通信的协议TCP是提供全双工服务,即数据可在同一时间双向传输二、TCP报文段(封装在IP数据报