type
status
date
slug
summary
tags
category
icon
password
本文主要讲下TCP三次握手和四次挥手是什么,为什么是3/4呢,牵涉到单工/双工通信的问题。
TCP和UDP的区别
网上关于这俩的区别有很多讲解,本质区别就是TCP在双方建立连接,收到数据时会给反馈,失败就会重发,而UDP是不会建立连接的,所以不知道对方是否接受到了数据,是否丢包,自然也就不会重发数据。这里不多赘述,贴张图看下:

三次握手
1.启动服务器监听客户端的消息。
2.客户端向服务器发送连接请求。
3.服务器返回给客户端接受连接的请求。
4.客户端给服务器发送确认连接信息,此时双方已建立连接。
总结:其实就是双方确认自己的收发能力有没有问题。
1.客户端给服务器发送消息(客户端视角):客户端发没问题,收不确定;服务器收发均不确定。
2.服务器收到客户端的消息,并给客户端发送消息(服务器视角):服务器收发没问题,客户端发没问题,客户端收不确定。
3.客户端接收到服务器的消息,再给服务器发送消息(客户端视角):客户端收发没问题,服务器收发没问题。
此时服务器收到3步骤客户端的消息后,双方就知道了自己以及对方的收发能力没问题,那么就可以建立连接了。
四次挥手
四次挥手释放连接时,比上面多一步就是:客户端和服务器双方都需要向对方发送一次释放连接请求,并让对方确认。
直接白话总结:
客户端→服务器:我要断开连接。
服务器→客户端:收到你的断开连接请求,请等我确认。
服务器→客户端:确认完了,我也准备和你断开连接,请你确认。
客户端→服务器:确认完毕,直接断开连接吧。
注意,四次挥手的第一次释放连接请求是由客户端向服务器发出的!
- Author:lzzd
- URL:https://lazy-zed.com/article/server_1
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!