电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

微信协议简单调研笔记

微信协议简单调研笔记_第1页
1/13
微信协议简单调研笔记_第2页
2/13
微信协议简单调研笔记_第3页
3/13
下载后可任意编辑聂永的博客记录工作/学习的点点滴滴。微信协议简单调研笔记前言微信可调研点很多,这里仅仅从协议角度进行调研,会涉及到微信协议交换、消息收发等。所谓“弱水三千,只取一瓢”吧。杂七杂八的,有些长,可直接拉到最后看结论好了。一。微信协议概览微信传输协议,官方公布甚少,在微信技术总监所透漏 PPT《微信之道—至简》文档中,有所体现。纯个人理解:因张小龙做邮箱 Foxmail 起家,继而又做了 QQ Mail 等,QQ Mail 是国内第一个支持 Exchange ActiveSync 协议的免费邮箱,基于其从业背景,微信从一开始就实行基于 ActiveSync 的修改版状态同步协议 Sync,也就再自然不过了。一句话:增量式、按序、可靠的状态同步传输的微信协议。大致交换简图如下:下载后可任意编辑如何猎取新数据呢:1.服务器端通知,客户端猎取2.客户端携带最新的 SyncKey,发起数据请求3.服务器端生成最新的 SyncKey 连同最新数据发送给客户端4.基于版本号机制同步协议,可确保数据增量、有序传输5.SyncKey,由服务器端序列号生成器生成,一旦有新消息产生,将会产生最新的SyncKey。类似于版本号服务器端通知有状态更新,客户端主动猎取自从上次更新之后有变动的状态数据,增量式,顺序式。二。微信 Web 端简单调试在线版本微信:下载后可任意编辑https://webpush.weixin.qq.com/通过 Firefox + Firebug 组合调试,也能证实了微信大致通过交换 SyncKey 方式猎取新数据的论述。1. 发起 GET 长连接检测是否存在新的需要同步的数据会携带上最新 SyncKeyhttps://webpush.weixin.qq.com/cgi-bin/mmwebwx-bin/synccheck?callback=jQuery18306073923335455973_1393208247730&r=1393209241862&sid=s7c%2FsxpGRSihgZAA&uin=937355&deviceid=e542565508353877&synckey=1_620943725%7C2_620943769%7C3_620943770%7C11_620942796%7C201_1393208420%7C202_1393209127%7C1000_1393203219&_=1393209241865返回内容: window.synccheck={retcode:"0",selector:"2"}selector 值大于 0,表示有新的消息需要同步。据目测,心跳周期为 27 秒左右。2. 一旦有新数据,客户端 POST 请求主动猎取同步的数据https://webpush.weixin.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=s7c%2FsxpGRSihgZAA&r=1393208447375携带消息体:{"BaseRequest":{"Uin":937355,"Sid":"s7c/sxpGRSihgZAA"},"SyncKey":{"Count":6,"List":[{"Key":1,"Val":62094372...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

微信协议简单调研笔记

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部