这两天网络上修改时区,将时区更改为上海或青岛,这种解决微信推送延迟的方法真的是真的吗?
一个先决条件是,大约两三个月前,一位粉丝说:“我们可以解决微信推送延迟的问题。”的。
方法和大家看到的一模一样,经过我两三天的测试,就跟这位粉丝沟通,说“我测试之后是完全没有效果的”。这个解决微信推送延迟到底是个什么原理呢?这位粉丝说“我是ios的开发者,并且还是一名大学生,经过我测试发现ios设备有一个bug,就是微信锁屏之后有一个三分钟的延迟。方法就是我跟你说的这个方法,我说的是对的,你按照我说的方法出教程就可以了。”他说的这些话非常豪横,然后我就给他拉黑了。那么今天咱们就深度地剖析以下他的这个方法,到底是真是假。苹果的推送机制大家都知道,和早期的安卓是不一样的,他是分本地推送和远程推送,本地推送就是你的备忘录、闹钟、日历等这些推送,远程推送就是你的qq、微信、app的通知等这些,它都是经由苹果的推送服务器生成设备标识密钥等,打包好之后,再发给苹果的apns推送服务器,再根据相对应的标识找到相对应的IOS设备和app,你才能收到这条通知。为了保证消息推送的时效性,要在手机端和apns服务器之间建立一个TCP/IP的长链接,如果这个长链接断开或者掉线,你就收不到通知了。那么该如何保持着这个长链接时刻在线,就需要应用定时的向apns服务器发送信令证明他还活着,在业内有一非常生动的名词,叫心跳包。那么肯定有人会疑问了,他都发送心跳包了,我为什么还会延迟,为什么还是收不到消息,为什么qq就没有延迟。根据网上查到的数据,qq早期的心跳包间隔是3分钟,微信早期的心跳包间隔是4.5分钟。现在的微信采用智能自适应的心跳包,可是你也别忘了,微信的用户群体太多太多了,运营商可分配的用户资源也非常紧张,就会造成延迟,或者你收不到消息。运营商可分配的用户资源是非常紧张的,比如说你所在地的基站过载,比如说你所在地的基站信号非常差,你的手机锁屏之后,这个心跳包长时间没有得到苹果apns服务器的响应,就会被运营商在分配资源的时候把这些闲置的资源给清理掉,清理掉之后你就收不到推送了,只有在应用再次发起长链接联通之后,你才能收到这条通知,所以就会产生延迟,而运营商清理这些闲置资源的市场间隔大概是3分钟左右,除了网络资源紧张之外,还有就是系统的一些机制,个人能做到的无非就是保持后台刷新、保持网络通畅,除此之外是没有任何方法的。谣言不攻自破,那些调试过感觉有用的,无非就是心理作用罢了。最后就是呼吁这些作者们再发布一些内容的时候,请自我审查。也呼吁读者们不要信遥不要传谣。
1.《iPhone的消息延迟推送尽有解决方法》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《iPhone的消息延迟推送尽有解决方法》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2975138.html