首页 > 其他分享 >go grpc默认长连接

go grpc默认长连接

时间:2024-10-22 21:11:11浏览次数:9  
标签:grpc 报文 ping 默认 go 连接 keepalive

google.golang.org/grpc v1.66.0

conn, err := grpc.NewClient("127.0.0.1:1000", grpc.WithTransportCredentials(insecure.NewCredentials()))

启动后就会看到该连接。

创建grpc client,默认指定idleTimeout是30分钟。

keepalive.ClientParameters
Time表示建连多久之后,无grpc数据传输时发送ping探测报文。
Timeout表示发送ping探测报文后,等待多久没收到响应则关闭连接。
PermitWithoutStream表示是否要在无grpc数据传输时,发送ping探测报文。

grpc基于http 2.0通信,默认是长连接。
建立连接 -> keepalive(默认不开启) -> idle(默认开启)
keepalive:等待一段时间后,如果没有传输数据,开始间隔固定时间发送ping探测报文,在规定时间内服务端没有响应则关闭连接。
idle:没有grpc数据传输时进入空闲模式,持续idleTimeout时间后关闭连接。

标签:grpc,报文,ping,默认,go,连接,keepalive
From: https://www.cnblogs.com/WJQ2017/p/18493740

相关文章

  • Go 切片的扩容规则是怎么样的
    切片是动态数组,容量是根据元素动态增加的。本来想看看源码怎么写的,发现切片追加元素的方法是内置的,看起来还挺麻烦源码位于builtin.go中://Theappendbuilt-infunctionappendselementstotheendofaslice.If//ithassufficientcapacity,thedestinationisr......
  • 【记录】arm64体系结构下写golang plan9汇编,怎么查有哪些指令?
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯方法1:看源码github.com/golang/go/src/cmd/internal/obj/arm64/anames.go:这个位置有所有arm64体系下支持的指令方法2:上述代码生成的文档位置:https://go.......
  • 使用 `com.google.gson` 库将 Java 对象转换为 JSON 字符串,并且确保 `data` 字段是 `M
    要使用com.google.gson库将Java对象转换为JSON字符串,并且确保data字段是Map<String,Object>类型的,你可以按照以下步骤编写一个示例代码。这个示例代码将创建一个包含data字段的Java对象,并将data字段初始化为一个Map<String,Object>,然后动态地向其中添加......
  • Go 语言的数据类型转换有哪些?
    当不同的数据类型相互操作的时候,就需要类型转换,Go的数据类型转换还是比较简单的。数据类型转换包含显式和隐式两类,隐式的一般是大的数据类型到小的类型进行转换,不会有精度丢失的问题。否则就需要进行显式转换。转换的场景包括:有数学计算、赋值、函数调用、数据库交互、JSON编......
  • go1.18版本下 beego/bee安装无法生成exe问题已解决
    转自: https://www.cnblogs.com/leijiangsheng/p/17392795.html我原来的项目是教育学习APP使用gin框架,很多东西都是自己原来实现的。最近开发小程序,需要重新独立后台,又重新找了下go框架研究了下,beego确实是个好框架,至少项目能用到的都考虑进去了。然后发现我本地装了一个下午,be......
  • Go语言net/http包源码学习
    0.前言该笔记为笔者第一次学习go的net/http包源码的时候所记,也许写的并不是很精确,希望大家多多包涵,一起讨论学习。该笔记很大程度的参考了网名为“小徐先生”的前辈所分享的博客,推荐大家可以先看一看它的博客来一起学习,我的只是照葫芦画瓢还有一些代码更新的讲解而已。当前笔者......
  • django 新型农机网站 计算机专业毕业设计源码08514
    摘 要随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于新型农机网站当然也不能排除在外,随着网络技术的不断成熟,带动了新型农机网站,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的......
  • django+mysql怎么开局
    后端开局:django+mysql思路是这篇:vue3+django+mysql实现一个简单的前后端分离的小案例-CSDN博客首先,用pycharm创建的时候我选的是anaconda3虚拟环境然后创建项目的时候选择django项目,会帮你创建好基础的东西。然后你需要在终端使用命令来创建apps文件夹。(看这篇:django创建......
  • Go语言Context包源码学习
    0前言context包作为使用go进行server端开发的重要工具,其源码只有791行,不包含注释的话预计在500行左右,非常值得我们去深入探讨学习,于是在本篇笔记中我们一起来观察源码的实现,知其然更要知其所以然。(当前使用go版本为1.22.2)1核心数据结构整体的接口实现和结构体embed图1.1Conte......
  • (开题报告)django+vuehadoop考勤系统论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景关于考勤系统的研究,现有研究主要以传统的考勤管理方式或者单一技术架构为主。在国内外,很多企业和组织已经采用了基本的考勤系统,但专门针对......