微信-心跳机制
2013-05-10 20:47
330 查看
为了实现即时通讯,微信软件采用向移动通讯网络周期性的发送资源(IP地址以及无线信道)分配请求,即使后台运行,也保持在线状态。这种机制也称作为“心跳机制”。最早的心跳机制用于服务器的安全备份机制,是为了防止服务器死机,而在服务器之间采用专用的端口和线路,周期性传送简短的信息,心跳就是形象的比喻。一旦收不到对方的心跳信息,服务器可以接管对方的业务,避免业务的停滞。为了业务的顺畅进行,服务器发送的心跳信息可以非常频密。
这种机制被手机上的互联网应用所借用,无论是Android的原生应用,还是QQ、微博和微信,都采用了这种心跳机制,也就是终端定时向应用服务器发送简短的信息。诸如旧版QQ的心跳周期为30秒,新版QQ为3分钟,微信为5分钟,Google原生应用为28分钟左右。而手机每次发送心跳包,都需要移动通信网络为用户分配资源,分配的过程体现在信令的发送和接收上。一次心跳包的发送过程,牵涉的信令多达几十条。这些网络资源分配的信令信息运营商是不能进行收费的,就好比手机拨电话没有接通的时候,也是很多信令信息的交互而用户不用付费。
这种机制被手机上的互联网应用所借用,无论是Android的原生应用,还是QQ、微博和微信,都采用了这种心跳机制,也就是终端定时向应用服务器发送简短的信息。诸如旧版QQ的心跳周期为30秒,新版QQ为3分钟,微信为5分钟,Google原生应用为28分钟左右。而手机每次发送心跳包,都需要移动通信网络为用户分配资源,分配的过程体现在信令的发送和接收上。一次心跳包的发送过程,牵涉的信令多达几十条。这些网络资源分配的信令信息运营商是不能进行收费的,就好比手机拨电话没有接通的时候,也是很多信令信息的交互而用户不用付费。
相关文章推荐
- 从微信谈起,如何优化互联网APP心跳机制
- 从微信谈起,如何优化互联网APP心跳机制——孙宇彤
- ESFramework 开发手册(07) -- 掉线与心跳机制(转)
- Hadoop源码分析之心跳机制
- 微信开发系列----04:消息机制,了解自定义文本响应
- 深入理解使用白鹭引擎开发微信小游戏的构建机制
- Oracle RAC/Clusterware 多种心跳heartbeat机制介绍 RAC超时机制分析
- Android微信智能心跳方案
- TCP长连接为何需要心跳机制
- 浅析 Netty 实现心跳机制与断线重连
- Python网络编程:实现心跳机制
- [摘录]网络通信中的心跳机制的实现
- linux下socket连接下的心跳机制
- 浅谈SCOM Agent的心跳响应机制 推荐
- 微信小程序 require机制详解及实例代码
- netty 超时机制和心跳机制
- 微信授权机制
- Android TCP长连接 心跳机制及实现
- Hadoop中DataNode与NameNode之间的心跳机制