本小节主要想分享的是
服务器端向客户端发送goAway帧的逻辑,以及客户端是如何处理goAway帧的?

达到的效果就是关闭连接。

1、服务器端跟客户端交互处理goAway帧的流程图

可以通过下图,简单了解服务器端跟客户端是如何处理goAway帧,是互相交互的过程。

主要流程说明:(在启动keepalive的场景下)
服务器端在处理goAway帧时,最多会经历三个阶段:

第一阶段:
  • 服务器端向客户发送第一个goAway帧;
  • 客户端接收到后:
    • 更新http2Client的状态为draining,
    • <

grpc-go源码剖析七十四之什么情况下服务器端通知客户端,双方关闭链接?(goAway帧处理逻辑)相关推荐

  1. redis源码剖析(十四)—— dump.rdb文件分析工具

    分析rdb文件的工具 安装 git clone https://github.com/sripathikrishnan/redis-rdb-tools.git sudo pip install --u ...

  2. STL源码剖析学习十四:算法之set相关算法

    STL中定义的set要求元素不得重复且已经排序 set算法要求的都是有序区间,但元素可以重复出现 另外提供的hash版本的set因为其元素无序,因此不能作为set函数的参数 set算法前4个参数分别表 ...

  3. redis源码剖析(十五)——客户端思维导图整理

    redis源码剖析(十五)--客户端执行逻辑结构整理 加载略慢

  4. boost源码剖析之:多重回调机制signal(下)

    boost源码剖析之:多重回调机制signal(下) 刘未鹏 C++的罗浮宫(http://blog.csdn.net/pongba) 在本文的上篇中,我们大刀阔斧的剖析了signal的架构.不过还有 ...

  5. 源码 状态机_阿里中间件seata源码剖析七:saga模式实现

    saga模式是分布式事务中使用比较多的一种模式,他主要应用在长流程的服务,对一个全局事务,如果某个节点抛出了异常,则从这个节点往前依次回滚或补偿事务.今天我们就来看看它的源码实现. 状态机初始化 在之 ...

  6. Django Rest Framework源码剖析(七)-----分页

    一.简介 分页对于大多数网站来说是必不可少的,那你使用restful架构时候,你可以从后台获取数据,在前端利用利用框架或自定义分页,这是一种解决方案.当然django rest framework提供 ...

  7. GDAL源码剖析(十)之编写自己的扩展格式

    一.简介 该节内容参考GDAL的英文原文:http://www.gdal.org/gdal_drivertut.html. 通常,可以通过从GDALDataset和GDALRasterBand继承来实 ...

  8. redis源码剖析(十二)—— RDB持久化

    文章目录 RBD文件载入 RDB文件分析 源码分析 核心代码 rdb文件写入 rdb写入关键函数rdbSaveObjectType rdbSaveStringObjectRaw rdbSaveLong ...

  9. ABP源码分析三十四:ABP.Web.Mvc

    ABP.Web.Mvc模块主要完成两个任务: 第一,通过自定义的AbpController抽象基类封装ABP核心模块中的功能,以便利的方式提供给我们创建controller使用. 第二,一些常见的基础 ...

  10. Redis源码剖析(十二)--客户端和服务器

    客户端属性 客户端的状态保存在结构体 redisClient 中,下面给出redisClient的部分属性: typedef struct redisClient{// 套接字描述符int fd; / ...

最新文章

  1. thinkphp伪静态(url重写)
  2. VMware 无法打开内核设备 \\.\Global\vmx86
  3. php+读取配置里的值,ThinkPHP 读取配置信息与动态配置(C方法)
  4. 如何解决Connect超时导致的阻塞问题
  5. Java自带的线程池ThreadPoolExecutor详细介绍说明和实例运用
  6. hrjava项目原型html_Mockplus for Mac(原型设计工具)
  7. c# 多线程 执行事件 并发_.NET异步和多线程系列(一)
  8. 【开源】EasyDarwin编译全过程:Linux系统下编译运行最新版EasyDarwin的步骤介绍
  9. wine linux安装目录,[Linux]WINE安装教程
  10. 锁定计算机怎么设密码忘记了怎么办,电脑怎么设置锁屏密码 电脑锁屏密码忘记了怎么办...
  11. 固态硬盘的计算机需要进行磁盘碎片整理吗,固态硬盘为什么不需要电脑磁盘碎片整理?...
  12. 1334172-76-7,Biotin-PEG7-amine生物素-PEG试剂,在EDC或HATU活化剂存在下与NHS酯或羧基酸反应
  13. 织梦(dedecms)标签大全(非常全面)
  14. Qt 解析 DXF 文件
  15. 以太网 传统STP生成树的BPDU介绍、STP端口状态介绍与切换过程,STP详细的工作过程。
  16. mysql连接服务报错1058
  17. php 微信支付 ca证书,微信企业付款 CA证书出错,请登录微信支付商户平台下载证书...
  18. B2092 开关灯 【入门】
  19. Java基础——正则表达式_校验QQ号码、手机号是否满足规则、邮箱格式验证
  20. 亚信实习——初来乍到

热门文章

  1. 达内python第一次月考题目_月考来临!第一次月考远比你想象的重要!
  2. Python Csv TypeError: a bytes-like object is required, not ‘str‘
  3. WimTool(Wim映像处理工具) V1.30.2011.501 免费绿色版
  4. PMOS管的简单应用
  5. Struck的安装注意事项
  6. matlab定义struck,Peter Struck
  7. 自动收取蚂蚁森林能量雨
  8. POJ_1564_dfs
  9. BZOJ 5109: [CodePlus 2017]大吉大利,晚上吃鸡! 最短路 拓扑 Dp
  10. 特拉华大学计算机专业,特拉华大学计算机专业