微信消息推送协议简单分析

【结论】

1)  Android微信客户端和微信服务器A的(443端口)维持一个TCP长连接;定时向该服务器发送心跳;

2)  有新消息时,微信服务器A通知Android微信客户端;后者和微信服务器B建立新的TCP短连接,并获得数据;

3)  心跳间隔比较长,约300秒左右;

 

 

【协议分析】

 

分析涉及到两个微信服务器:

服务器一:183.61.49.148  Android手机微信客户端定时向该服务器发送心跳;

服务器二:14.17.52.147   当知道有新消息时,Android手机客户端会向该服务器请求新消息;

 

 

步骤一:Android手机微信客户端登陆;细节暂不分析;

步骤二:Android手机微信客户端每隔约270秒(或者450秒)通过TCP长连接向183.61.49.148发送心跳消息;

微信消息推送协议简单分析_第1张图片

步骤三:当有新消息时,183.61.49.148发消息,通知Android手机微信客户端有新消息;


步骤四:Android手机微信客户端和14.17.52.147重新建立TCP连接;14.17.52.147发送数据给Android手机微信客户端;接收完数据后,断开和14.17.52.147的TCP连接;

 微信消息推送协议简单分析_第2张图片

 

你可能感兴趣的:(微信,移动开发)