comet学习(三)cometd心跳机制
2019独角兽企业重金招聘Python工程师标准>>>
1. 客户端发起心跳请求:默认30秒后服务端返回响应,收到响应后,客户端立即发起下一次心跳请求。
也就是客户端与服务端心跳交互中,虽然第一次是由客户端发起,但服务端不会立即返回响应,而是三十秒后返回响应,
这种交互更多的像是由服务端发起连接保持交互。
2. 当服务端关闭或断开与客户端的连接,cometd客户端底层实现会立即通知客户端应用实现的连接监听器。
(最底层发起者是AsyncHttpConnection.handle)
3. 此时cometd的实现会开启定时重连线程,重现向服务端发起初始化请求,第一次一秒执行,第二次延迟两秒,一次类 推,直到再次与服务端建立连接。
4. 跟踪端口监听状态得出:客户端先发送握手请求,然后发送连接请求,只后的心跳机制,和接收服务端推送的信息,都是在一个连接上进行,这个连接一直存在,只有发送其它的信息,才通过新的端连接发送。
5. 如果是客户端主动断开连接,由于服务端处理客户端的心跳请求默认是30秒后才回响应,所以服务端30秒后才会检测到客户端断开连接了,此时会清除为客户端建立的session。
30秒的间隔时间如果过长,则服务端检测客户端连接断开则会延迟太长,30秒的的间隔时间,如果太短,则会增加客户端的心跳请求次数。
转载于:https://my.oschina.net/airship/blog/779786
comet学习(三)cometd心跳机制相关推荐
- Oracle RAC集群三种心跳机制
Oracle 集群心跳机制: Oracle集群如何维护集群的一致性,所谓的集群一致性就是指集群中每个成员能够了解其他成员的状态,而且每个成员获得的集群中其他节点的状态和集群中节点成员列表 ...
- RAC数据库实例之间的三种心跳机制
和CSS 部分类似,RAC数据库中存在3种心跳机制:网络心跳.磁盘心跳.本地心跳 1.网络心跳: 数据库的网络心跳机制是通过LMNO进程来实现的,每个实例的LMON金嫦娥会定期通过数据库 ...
- 面试官问:服务的心跳机制与断线重连,Netty底层是怎么实现的?懵了
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 心跳机制 何为心跳 所谓心跳, 即在 TCP 长连接中, ...
- HTTP - 长连接 短连接 长轮询 短轮询 心跳机制
错觉与突然的察觉 大多数人都知道HTTP1.0不支持长连接,知道HTTP1.1支持长连接. 这是业界的一个常识. 然而这样的描述导致了一些不做网络底层开发的开发者都下意识的认为HTTP1.1是一个可以 ...
- 学习C++项目—— 搭建多进程网络服务框架,增加业务和日志,心跳机制
学习计算机网络编程 一.思路和学习方法 本文学习于:C语言技术网(www.freecplus.net),在 b 站学习于 C 语言技术网,并加以自己的一些理解和复现,如有侵权会删除. 接下来对 ...
- Spring学习之Spring三种装配机制:(一)自动化装配bean
装配:创建应用组件(对象)之间的协作的行为,这也是Spring依赖注入(DI)的本质. Spring提供了三种装配机制: 隐式的自动装配bean: 通过java代码装配bean(显示): 通XML中装 ...
- 深度学习中的注意力机制(三)
作者 | 蘑菇先生 来源 | NewBeeNLP原创出品 深度学习Attenion小综述系列: 深度学习中的注意力机制(一) 深度学习中的注意力机制(二) 目前深度学习中热点之一就是注意力机制(Att ...
- 【NLP】四万字全面详解 | 深度学习中的注意力机制(三)
NewBeeNLP原创出品 公众号专栏作者@蘑菇先生 知乎 | 蘑菇先生学习记 深度学习Attenion小综述系列: 四万字全面详解 | 深度学习中的注意力机制(一) 四万字全面详解 | 深度学习中的 ...
- (一百九十六)Android Q 学习WiFi的评分机制(三)
前言:之前在(一百九十六)Android Q 学习WiFi的评分机制(二)梳理了CS对WiFi score变化的处理,主要是rematchAllNetworksAndRequests方法中的处理,其中 ...
最新文章
- 数据结构快速回顾——栈
- TaggingJS – 可以灵活定制的 jQuery 标签系统插件
- C/Cpp / 野指针和悬空指针
- [微信开发] 微信网页授权Java实现(https://www.cnblogs.com/lovebread/p/5513241.html)
- SyntaxError: (hbase):100: syntax error, unexpected tIDENTIFIER
- gmp计算机系统课件,EU GMP附录11计算机系统◆问答
- SQL数据库语言基础之SqlServer视图的创建、修改与视图数据的增删改查
- 特殊人物请遵循公司工作的基本准则
- Homestead安装 PHP Redis 扩展
- echarts实现svg地图
- html简单网页代码
- iOS永久不掉签名工具,TrollStore超详使用教程
- sklearn.neighbors
- 蓝鸥iOS开发工程师职场提升路线图
- 墨画子卿第四章第6节:卷轴
- 微信6个新表情衍生职场好戏,『程序员』版也太太太真实了吧……
- 【AI测试】人工智能测试整体介绍
- 针对Arduino IDE 2.0安装后找不到端口的问题(USB转串口驱动)(Win11)
- python中的int()_python中的int函数如何使用?
- 智能优化算法——正余弦优化算法(SCA)及其改进策略
热门文章
- vb.net如何发送含双引号的字符串。转义双引号
- MVC HtmlHelper listbox用法
- java的前台与后台
- 【转】在centos linux上安装jdk7
- C#连接SQL Server数据库
- Linux下gcc/g++、make和cmake的区别
- rn php,RN和React路由详解及对比
- zip文件命令 linux,zip命令 – 压缩文件
- 扫描仪twain驱动是什么_扫描仪无法显示怎么办 扫描仪无法显示解决方法【详解】...
- 怎么安装python2.7_python2.7环境如何安装