热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

三次握手,四次挥手拟人化解释

生动形象记住三次握手,四次挥手三次握手前提:有一个人叫客户端,有一个人叫服务器。服务器那里有一些好东西,客户端时不时的上门讨要。情景1:握手一次客户端站在门口大喊:服务器,你的语文

生动形象记住三次握手,四次挥手

三次握手

前提:有一个人叫客户端,有一个人叫服务器。服务器那里有一些好东西,客户端时不时的上门讨要。


情景1:握手一次

客户端站在门口大喊:服务器,你的语文作业借我看看

正常情况:

服务器直接把作业从门缝扔给你

异常情况:

服务器不在家,客户端嗓子都喊哑了,也没和服务器联系上。


情景2:握手两次

客户端还是在门外喊:服务器,语文作业借我看看

正常情况:

服务器说:好的

然后慢吞吞的把作业翻箱倒柜找出来,给你了

异常情况:

服务器走神了,半天后才反应过来有人跟他要作业,说:好的,你还在门口吗?(客户端消息延迟,过了很久才到达服务器)

没人回答,原来人已经走了


情景3:握手三次

客户端门外又来大喊:服务器,作业借我看看

服务器在屋里回答:好的,你还在门口吗?

客户端说:我还在,你快把作业给我。

然后服务器找到作业,塞到门缝里,给了客户端。完成了连接。

总结:

一次握手肯定不行,你都不知道对方有没有收到你的消息,怎么能和对方联系上?

二次握手也不行,你弄了好半天才回复别人的消息,结果别人走了,也没法建立正常的联系。(发送的消息因为网络延迟等原因,过了很久才给到客户端。或者客户端发送的消息因为延迟等原因,过来很久才到你这里,这个消息已经过期了,你再回答也没什么意义)

三次握手可以,确保了双方都正常,能接收数据。


四次挥手

前提:客户端过节回家了,他妈妈服务器给他准备了很多好吃的,现在要准备回去上班了,客户端跟他妈妈告别

情景1:一次挥手

客户端说:我走了!,然后扭头就走

服务器:目无尊长,长辈同意了吗就走,我准备的东西还没给你呢?

客户端卒

情景2:二次挥手

客户端:我走了?(等待服务器同意回话)

服务器:我知道了,等会。

客户端听到回答,没等就走了。服务器:说让你走了吗,我东西还没准备好呢?

客户端卒

情景3:

客户端:我走了?(等待同意)

服务器:我知道了,等会儿

服务器:一股脑儿把准备的好东西都塞到你怀里后,不停的说:好了,可以走了(不听到回答,会一直说这句话)

客户端以为完事了,走了。服务器还在不停等待回复:可以走了,可以走了,...

客户端因为把长辈晾在一边,卒

情景4:

客户端:我走了?(等待同意)

服务器:我知道了,等我准备会

服务器:一股脑儿把准备的好东西都塞给你,说好了

客户端:那我真走了?(试探性的等待一会儿,确保长辈听到这句话后闭口不言)。长辈没有回答,便是默认了,便退下了。

客户端满血复活。

总结:

一次挥手肯定不行,因为服务器可能还有正在发送的数据没有完毕。

二次挥手,服务器只是说我知道了你要走,但是我还没准备好让你走,因为还有数据没有发送完毕。

三次挥手:此时已经把数据发送给客户端了,才说你可以走了。

四次挥手:客户端表示自己知道了自己真的可以走了,等待消息能传达到服务器后,就走了。(之所以要 TIME-WAIT 2MSL时间,是因为要确保消息有效。如果服务器听到第四次的消息,就会关闭,否则就会不停的重复第三次挥手说:好了,可以走了。所以客户端要等待一会儿,发现服务器没有说:可以走了,就说明服务器收到了我们第四次的消息,也就真的可以关闭了)

图片来自这篇文章



推荐阅读
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 苹果新专利或将引领无边框手机时代
    苹果公司最近公布了一项新的专利技术,该技术能够在设备屏幕中嵌入光线传感器,这标志着苹果在实现无边框手机设计上迈出了重要一步。这一创新将极大提升手机的屏占比,并可能为未来的iPhone带来革命性的变化。 ... [详细]
  • 本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ... [详细]
  • RT,个人博客图片管理(方便管理,大家 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
author-avatar
捕鱼达人2602906405
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有