默认
打赏 发表评论 57
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
居然有个人的头像和我的一样,难道你也是树袋熊  
引用:小平 发表于 2017-11-29 10:12
居然有个人的头像和我的一样,难道你也是树袋熊

你这头像我在论坛上确实看到过,我还以为是马甲号。。
支持,感谢分享,诠释干货
对于这个问题的理解,我一直在误区里面:一直认为有了KA,为什么还要心跳?这不是多余的么。现在解惑了。。
引用:那只羊 发表于 2018-02-10 19:54
对于这个问题的理解,我一直在误区里面:一直认为有了KA,为什么还要心跳?这不是多余的么。现在解惑了。。 ...

嗯嗯
对于客户端的心跳报文,服务端是否需要应答?
引用:Fuxiao0510 发表于 2018-03-12 10:48
对于客户端的心跳报文,服务端是否需要应答?

理论上是需要的,因为服务端知道了Client to Server这条通路是通的,客户端也想知道Server to Client是不是通的,IM长连接双向通信必须是都通的才是正常的,这也就是心跳的根本作用。
"当然还有一些小 trick 比如从收到的最后一个指令包进行心跳包周期计时而不是固定时间"。
这句话怎么理解,不太明白?
引用:lmyJavaDE1 发表于 2018-08-07 10:48
"当然还有一些小 trick 比如从收到的最后一个指令包进行心跳包周期计时而不是固定时间"。
这句话怎么理解 ...

说的是一个小技巧:也就是心跳是按不固定的时间算,即当你收到最后一个包后将重置心跳包的计算起始时间(就是让心跳晚一点发)——因为刚收到消息了,就表示跟服务器通信是正常的,此最后一个消息的作用跟心跳就是一样的,这样的话正常的心跳就可以晚一点发,总的算下来就可以省下很多心跳包,对于整个服务端来说是很可观的。

极端情况下,如果你频繁聊天,这些聊天消息就相当于心跳了,普通的心跳包就可以全部省去了,很经济(当然,这只是某个时间段上是这样——比如跟你女朋友晚上褒微信调情的时候,但不可能一刻不停的聊天,人又不是机器,对吧)。
引用:JackJiang 发表于 2018-08-07 13:30
就是说小技巧:也就是心跳是不固定时间算,你收到的最后一个包后重置心跳包的计算起始时间(就是让心跳晚 ...

明白了 谢谢!
写的不错,,,收藏。
文章写得不错
签名: 加油啊
赞!
学习了,最近一直在看IM入门文章
引用:百萧儒生 发表于 2019-07-05 20:41
学习了,最近一直在看IM入门文章

内力大增吧
引用:JackJiang 发表于 2019-07-05 20:56
内力大增吧

恩,妥妥的。资料丰富,层次分明。
心跳间隔根据程序状态进行调整 。

根据程序的什么状态?
引用:laojichuxin 发表于 2019-07-31 09:24
心跳间隔根据程序状态进行调整 。

根据程序的什么状态?

主要是网络的状态,参考一下这篇《百度APP移动端网络深度优化实践分享(三):移动端弱网优化篇
引用:JackJiang 发表于 2019-07-31 09:28
主要是网络的状态,参考一下这篇《百度APP移动端网络深度优化实践分享(三):移动端弱网优化篇》

收到,谢谢您。
感谢分享,学习了
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部