微信-心跳机制

为了实现即时通讯,微信软件采用向移动通讯网络周期性的发送资源(IP地址以及无线信道)分配请求,即使后台运行,也保持在线状态。这种机制也称作为“心跳机制”。最早的心跳机制用于服务器的安全备份机制,是为了防止服务器死机,而在服务器之间采用专用的端口和线路,周期性传送简短的信息,心跳就是形象的比喻。一旦收不到对方的心跳信息,服务器可以接管对方的业务,避免业务的停滞。为了业务的顺畅进行,服务器发送的心跳信息可以非常频密。

这种机制被手机上的互联网应用所借用,无论是Android的原生应用,还是QQ、微博和微信,都采用了这种心跳机制,也就是终端定时向应用服务器发送简短的信息。诸如旧版QQ的心跳周期为30秒,新版QQ3分钟,微信为5分钟,Google原生应用为28分钟左右。而手机每次发送心跳包,都需要移动通信网络为用户分配资源,分配的过程体现在信令的发送和接收上。一次心跳包的发送过程,牵涉的信令多达几十条。这些网络资源分配的信令信息运营商是不能进行收费的,就好比手机拨电话没有接通的时候,也是很多信令信息的交互而用户不用付费。

你可能感兴趣的:(微信-心跳机制)