Java网络编程之TCP协议核心机制(三)

题外话

最近学习内容很多嗷

正题

延时应答机制

当客户端发送数据到服务器时,服务器不会立即返回ACK,而是等待一会再返回ACK

这段等待时间应用程序可能会消化掉接收缓冲区中的数据,当服务器返回ACK时,就会携带此时接收缓冲区大小的信息

当客户端下次再发送数据的时候就可以发送的大一些

延时时间的两种策略

1.按照一定的时间指定延时

2.根据收到的数据量延时

上述两个延时策略是结合使用的

捎带应答机制

建立在延时应答机制的基础上,提升效率的方式

具体如下图

粘包问题

在字节流读写数据的场景中,会涉及到一个非常关键的问题,粘包问题

如上图

当客户端向服务器发送给多个数据到内存缓冲区,我们无法知道哪个数据到哪里截止,这就是粘包问题

粘包问题解决方法

1.使用分隔符

定义任意字符都可以,只要字符在请求数据中是不存在的

2.约定包的长度

当我们发送数据的时候,可以将数据长度放在数据前,这样就可以正确读取数据

关于异常情况及处理方法

1.传输过程中,其中一个进程崩溃(结束)了

操作系统可以回收释放对应的PCB(进程控制块),相当于调用close

2.某个主机关机

操作系统会强制结束所有用户进程再进入关机,进程结束后会进行四次挥手断开连接的

3.某个主机电源断电或者网线断开

服务器断电或者网线带哪里,客户端接收不到ACK数据包,就会触发超时重传,重传几次会发送复位报文(RST)

没有响应之后客户端会单方面删除服务器信息

客户端断电或者网线断开,服务器一段时间接收不到客户端发送的数据,就会触发心跳包,服务器会周期性给客户端发送心跳包

正常情况下客户端会给服务器返回ack,但是客户端断电了,就不会返回任何数据

小结

至此,所有的TCP核心机制已经结束了

1.确认应答机制

2.超时重传机制

3.连接管理机制{三次握手,四次挥手}

4.滑动窗口机制

5.流量控制机制

6.拥塞控制机制

7.延时应答机制

8.捎带应答机制

9.战报问题

10异常情况及处理方法

现在加入粉丝团以后就是老粉了,麻烦家人们给个三连(点赞关注收藏!!!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/643447.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WebGL的室内设计软件

WebGL (Web Graphics Library) 是一个JavaScript API,它提供了一种在网页上渲染3D图形的方法,无需使用插件。利用WebGL,开发者可以创建和展示复杂的3D场景,包括室内设计。以下是开发基于WebGL的室内设计软件时可能涉及的一些关键步…

青鸟云报修系统:实现高效、便捷的维修申请处理

在日常生活和工作中,故障报修难免会遇到,售后报修服务则成为了解决问题的关键。纸质化售后报修维修申请单,作为报修流程中的重要一环,在一定程度上能够记录和追踪售后报修维修流程,但在实际操作过程中却存在着诸多弊端…

【MySQL数据库】:MySQL表的操作

目录 创建表 创建表案例 查看表结构 修改表 插入数据 新增列 删除一行数据 修改列类型 修改列名 修改表名 删除列 删除表 表操作至少会涉及如下两类SQL语句: DDL(Data Definition Language)数据定义语言:比如…

【c语言】了解指针,爱上指针(5)

了解指针,爱上指针(5) 回调函数qsort函数冒泡排序模拟实现qsort函数 回调函数 回调函数:就是一个通过函数指针调用的函数。 把函数的指针作为参数传给另一个函数,当这个指针被用来调用指向的函数时,此时被…

Vue CLI 的服务介绍与使用(2024-05-20)

1、介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 vue/cli 实现的交互式的项目脚手架。 通过 vue/cli vue/cli-service-global 实现的零配置原型开发。 一个运行时依赖 (vue/cli-service),该依赖: 可升级…

【论文阅读】使用深度学习及格子玻尔兹曼模拟对SEM图像表征粘土结构及其对储层的影响

文章目录 0、论文基本信息1、深度学习2、可运行程序—Matlab3、深度切片3、LBM模拟4、局限性 0、论文基本信息 论文标题:Characterizing clay textures and their impact on the reservoir using deep learning and Lattice-Boltzmann simulation applied to SEM i…

EI稳定检索--人文社科类会议(ICBAR 2024)

【ACM独立出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024) 2024 4th International Conference on Big Data, Artificial Intelligence and Risk Management 【高录用•快检索,ACM独立出版-稳定快速EI检索 | 往届均已完成EI, Scopus检索】 【见…

[less配置]vue2引入less

1、终端输入:npm install less less-loader --save-dev 2、在package.json查看是否安装less依赖 3、调用

【前端笔记】记录一个能优化Echarts Geo JSON大小的网站

前端在使用Echarts等可视化图表库会不可避免遇到的问题,渲染地图的数据太大。 而有那么一个网站能给予这个问题一个解决方案:链接在此 使用方法很简单,首先先进入网站,如果进入了会是这个页面: 接着,选择一…

[SCTF2019]babyre

打开看看还是有花指令 解除后首先pass1是解maze,好像又是三维的 x是25,也就是向下跳五层,注意是立体的 得到 passwd1: ddwwxxssxaxwwaasasyywwdd 接着往下看 有一个加密函数IDA逆向常用宏定义_lodword-CSDN博客 unsigned __int64 __fastca…

【文献阅读】ESG评级分化和企业绿色创新

ESG评级分化和企业绿色创新 摘要 (1)本研究通过实证探讨了ESG评级差异是否以及如何影响企业绿色创新。以中国上市公司为样本,我们发现ESG评级差异对企业绿色创新有积极的影响 。经过几次稳健性检查后,该结果仍然成立。 &#xff…

【CTF Web】CTFShow web4 Writeup(SQL注入+PHP+字符型注入)

web4 1 管理员阿呆又失败了&#xff0c;这次一定要堵住漏洞 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/or|\-|\\\|\/|\\*|\<|\>|\!|x|hex|\(|\)|\|select/i",$id)){die(&q…

图计算与ID-Mapping

目录 一、图计算&#xff1a; 图计算起源&#xff1a; 图计算特点&#xff1a; 图计算的应用&#xff1a; Spark GraphX图处理库 ID-Mapping 二、总结&#xff1a; 一、图计算&#xff1a; 图&#xff08;Graph&#xff09;是用于表示对象之间关联关系的一种抽象数据结构…

著名书法家王杰宝做客央视频《笔墨写人生》艺坛人物经典访谈节目

印象网北京讯&#xff08;张春兄、冯爱云&#xff09;展示艺术风采&#xff0c;构建时代精神。5月25日&#xff0c;著名书法家、羲之文化传承人王杰宝&#xff0c;做客央视频《笔墨写人生》艺坛人物经典访谈节目&#xff0c;与中央电视台纪录频道主持人姚文倩一起&#xff0c;分…

JVM-调优之-如何使用arthas-观察jvm-cpu-内存-垃圾回收等信息

前言&#xff1a; 可以简单代替把dump文件下载下来后用visualvm分析了&#xff1b;跟visualvm类似的&#xff1b; docker中如何安装arthas看这个&#xff1a;docker中怎么使用arthas_arthas 集成到容器镜像-CSDN博客 curl -O https://arthas.aliyun.com/arthas-boot.jar wget …

网络命令

1.write 路径&#xff1a;/usr/bin/write 权限&#xff1a;所有用户 语法&#xff1a;write <用户名> 功能&#xff1a;给用户发信息&#xff0c;以CtrlD保存结束 例&#xff1a;#write 04110606 注&#xff1a;输错了的时候&#xff0c;ctrl退格键或是delete 接收…

一款即支持3v3单片机又支持5v单片机的485收发芯片

原理图参考 H7-TOOL 特此记录 anlog 2024年5月21日

嵌入式之音频基础知识

声音特性 1、响度&#xff1a;人主观上感觉声音的大小&#xff08;俗称音量&#xff09;&#xff0c;由“振幅”和人离声源的距离决定&#xff0c;振幅越大响度越大&#xff0c;人和声源的距离越小&#xff0c;响度越大&#xff1b; 2、音调&#xff1a;声音的高低&#xff0…

逍遥模拟器安装xp时报错处理

在执行script.sh&#xff0c;无法执行程序&#xff0c;报错如下&#xff1a; Mounting /system and /vendor read-write /dev/block/sda6 is read-only 尝试了很多种的方法&#xff0c;都不行 经过研究发现是逍遥模拟器的设置问题&#xff1a; 出问题时&#xff0c;磁盘共享…

【重制版】Unity Meta Quest 一体机开发(一):前期准备,Meta XR SDK导入和环境配置,配置玩家物体

文章目录 &#x1f4d5;教程说明&#x1f4d5;Meta XR SDK 介绍&#x1f4d5;前期准备⭐开启开发者模式⚡在 Meta 官网申请开发者⚡在 Meta Quest 手机 APP 开启开发者 ⭐电脑需要下载的软件⚡Meta Quest Link&#xff08;以前叫做Oculus PC客户端&#xff09;⚡Oculus ADB Dri…