在 HTTP2 协议正式开始工作前, 如果已经知道服务器是 HTTP2 的服务器, 通讯流程如下:

  1. 客户端必须首先发送一个连接序言,其逻辑结构:

    PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n  // 纯字符串表示,翻译成字节数为24个字节
    SETTINGS帧                            // 其负载可能为空
    
  2. 发送完毕序言之后,客户端可以不用等待来自服务器端响应,马上发送HTTP/2其它帧
  3. 服务器端接收到客户端的连接序言之后,需要发送一个SETTINGS帧作为连接序言
  4. 任一端接收到SETTINGS帧之后,都需要返回一个包含确认标志位SETTIGN作为确认
  5. 其它帧的正常传输

gRPC  Helloworld 的例子完整的数据包依次如下:

来自Wireshark 的内容。

可以看到 18 开始才是正常请求的包。
常规RPC的交互流程:

转载于:https://www.cnblogs.com/lijunhao/p/6137920.html

常规RPC通讯过程【转载】相关推荐

  1. 130、RPC远程过程调用

    RPC简介 1. 什么是RPC 远程过程调用(英语:Remote Procedure Call,缩写为 RPC,也叫远程程序调用)是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机 ...

  2. 针对蓝牙4.0 BLE通讯过程的逆向和攻击

    本文讲的是针对蓝牙4.0 BLE通讯过程的逆向和攻击,从6个月前,我就开始针对BLE设备进行学习和研究,其中接触到了一些关于BLE逆向的博客和文章,但是相关内容都没有给出很好的方案.因此通过我的这篇文 ...

  3. Go 使用consul服务治理 rpc通讯

    本篇使用到了RPC通讯 可以看这里 搭建consul集群可以使用这个 docker-compose 一键生成 服务端代码 package mainimport ("fmt"&quo ...

  4. I2C通讯过程中SDA被一直拉低

    I2C通讯过程中SDA被一直拉低 一.现象 二.分析原因 2.1 正常情况该部分数据 正常情况slave返回一个byte数据:0x00(该字节8bit都是0) 2.2 异常发生时该部分数据 出现该情况 ...

  5. .NetCore框架Surging系列(四)RPC客户端过程

    .NetCore框架Surging系列(一)介绍 .NetCore框架Surging系列(二)HTTP .NetCore框架Surging系列(三)HTTP本地路由发现过程 .NetCore框架Sur ...

  6. USB具体通讯过程(含枚举过程)

    /*********************************************************************** USB入门系列: 1.USB行业标准介绍 2.USB具 ...

  7. 密码学基础以及完整加密通讯过程解析

    密码学基础以及完整加密通讯过程解析 前言 一.密码学相关基本概念 二.对称加密 三.非对称加密 四.杂凑算法 五.完整加密通讯过程 前言 密码学是研究如何隐密地传递信息的学科. 密码是通信双方按约定的 ...

  8. Windows RPC 远程过程调用

    本文章转载自 http://blog.csdn.net/xxxluozhen/article/details/5605818  作者写的很详细并且通俗易懂 一.什么是远程过程调用 什么是远程过程调用 ...

  9. SpringBoot整合Grpc实现跨语言RPC通讯

    什么是gRPC gRPC是谷歌开源的基于go语言的一个现代的开源高性能RPC框架,可以在任何环境中运行.它可以有效地连接数据中心内和跨数据中心的服务,并提供可插拔的支持,以实现负载平衡,跟踪,健康检查 ...

最新文章

  1. csv格式用什么打开可以编辑_如何用EXCEL/WPS整理航信版(金税盘/白盘)客户(商品)编码表...
  2. 下面属于java的object_在JAVA中,下列哪些是Object类的方法()
  3. 网络编程模型 / Reactor
  4. 试图使用removebg工具的在线网站去除图片背景时遇到的错误
  5. Hello Blazor:(1)像ASP.NET WebForm一样写代码
  6. 前端网页发布到nginx_通过nginx部署前端代码实现前后端分离
  7. 科沃斯扫地机器人电路原理图_科沃斯扫地机器人不工作故障维修(CEN550)
  8. AMS1117输入电源加反后换元件
  9. 顺丰科技机器学习面试
  10. java 继承是什么_java中继承指的是什么
  11. 软件中的易用性设计及测试(二)
  12. 手把手教你如何通过Java给图片添加文字和图片水印
  13. 中台建设:中台有效落地的6脉神剑
  14. 梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法...
  15. 御坂坂的C++学习之路(1)
  16. 关于腾讯云服务器的域名备案流程(尽力图文并茂)
  17. jdk常用工具命令总结
  18. beyond compare linux文件夹,Beyond Compare比较文件夹的方法
  19. IDEA中创建启动Vue项目--搭建vue项目
  20. [机器学习][1]--PLA算法

热门文章

  1. PHP —— 识别运算符实现逻辑比较
  2. 十几款应用广泛的第三方URL解析库被曝8个漏洞
  3. 第三次被盗:Cream Finance 疑存在漏洞,价值1.3亿美元的密币失窃
  4. 作业MathExam
  5. python_vlc 播放http流
  6. H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器
  7. 英国脱欧:3/4的技术初创公司将面临严峻时期
  8. Linux 内核的测试和调试(1)
  9. mysql自动安装脚本
  10. Tabio – 轻松,高效的管理 Chrome 标签页