微信网络交互流程研究(共15页)_第1页
微信网络交互流程研究(共15页)_第2页
微信网络交互流程研究(共15页)_第3页
微信网络交互流程研究(共15页)_第4页
微信网络交互流程研究(共15页)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微信网络(wnglu)交互流程研究目录 TOC o 1-3 h z u HYPERLINK l _Toc406594056 1微信业务部署架构 PAGEREF _Toc406594056 h 2 HYPERLINK l _Toc406594057 2微信的登陆流程 PAGEREF _Toc406594057 h 3 HYPERLINK l _Toc406594058 (1)域名解析过程 PAGEREF _Toc406594058 h 3 HYPERLINK l _Toc406594059 (2)注册、登陆、认证过程 PAGEREF _Toc406594059 h 4 HYPERLINK l _

2、Toc406594060 (3)业务使用过程 PAGEREF _Toc406594060 h 4 HYPERLINK l _Toc406594061 3微信主要业务场景 PAGEREF _Toc406594061 h 4 HYPERLINK l _Toc406594062 (1)文本聊天交互流程 PAGEREF _Toc406594062 h 4 HYPERLINK l _Toc406594063 (2)实时对讲的交互流程 PAGEREF _Toc406594063 h 5 HYPERLINK l _Toc406594064 (3)查找附近的人交互流程 PAGEREF _Toc40659406

3、4 h 5 HYPERLINK l _Toc406594065 (4)漂流瓶功能的交互流程 PAGEREF _Toc406594065 h 6 HYPERLINK l _Toc406594066 (5)摇一摇/附近的人功能的交互流程 PAGEREF _Toc406594066 h 7 HYPERLINK l _Toc406594067 (6)朋友圈功能的交互流程 PAGEREF _Toc406594067 h 7 HYPERLINK l _Toc406594068 (7)游戏下载功能的交互流程 PAGEREF _Toc406594068 h 9 HYPERLINK l _Toc40659406

4、9 (8)微信购物功能的交互流程 PAGEREF _Toc406594069 h 9 HYPERLINK l _Toc406594070 4 微信可缓存重点域名 PAGEREF _Toc406594070 h 101微信业务(yw)部署架构 微信自从(zcng)2011年1月21日发布版本1.0,仅支持即时通讯、分享(fn xin)照片和更换头像,经过将近4年的开发完善,已成为一个融合型业务,包括文本、视频、语音、游戏、支付、LBS、电子商务、生活服务等多项应用功能。微信后台由一系列的服务器群组成,这些服务器群各有各的功能,服务器群内的每一台服务器都可以完成同样的功能。微信服务器群组成图如下:

5、服务器功能 功能 短连接服务器群 ( )用于临时获取用户信息等资源、注册登录的服务器,也可以用于收发心跳等信息。长连接服务器器群 ( )用于控制信令信息的收发,也可以用于心跳信息收发。 文字消息、图片收发、摇一摇、漂流瓶等过程,以及 VoIP业务的呼叫建立过程都在该长连接上承载,数据采用微信私有的SYNC协议封装。 语音/视频服务器群(/ )用于语音/视频数据中转、NAT穿透。 图片服务器群 ( / )保存好友信息以及头像、图片等信息。 1、使用微信时,首先(shuxin)请求调度域名,该域名会返回多个域名和IP地址的对应关系,后续的访问都不再进行DNS查询,而是直接使用列表中域名的IP地址,

6、此功能类似于DNS、调度服务器等;2、其他(qt)未包含在其中的域名则正常通过DNS解析获取IP地址; 3、最后(zuhu)通过与这些域名的交互,来实现发送/接受消息、朋友圈、附件的人等功能;2微信的登陆流程(1)域名解析过程打开微信,首先发起域名解析行为。微信软件的域名解析方式有两种:普通的DNS域名解析方式和特殊的域名解析方式。普通的DNS域名解析方式如下截图,向DNS服务器发起域名解析请求,DNS服务器返回对应的源站IP。特殊的域名解析方式为打开微信app时,发起http get请求:源站收到请求后通过http页面返回dns解析结果,内容如下截图:可以看出返回的Html代码中给了多个(d

7、u )域名对应的IP地址,从而达到域名解析的目的。(2)注册、登陆(dng l)、认证过程注册、登陆、认证过程(guchng)通过ssl加密方式进行。目的IP落地点均为网内资源 21广东省深圳市深圳市腾讯计算机系统有限公司移动节点87天津市移动9上海市移动(3)业务使用(shyng)过程3微信主要(zhyo)业务场景(1)文本(wnbn)聊天交互流程通过长连接通道传输消息内容,流程说明如下: a.发送方把编辑好的信息发送到长连接服务器,消息内容已加密,服务器缓存信息,并发送通知消息给接收方,通知接收方有信息要接收。 b.接收方从长连接服务器接收信息。(2)实时对讲的交互流程 实时对讲功能新引入

8、STUN穿洞/中转服务器,以完成语音数据的私网穿透和中转功能,流程如下: a.发起方首先和长连接服务器通信,通知服务器将要和对方发起实时对讲。 b.发起方同时和STUN服务器(/)发起穿洞过程,该过程采用UDP协议,穿洞时,客户端同时在同一个源端口向STUN服务器多个端口发起UDP请求,服务器分别响应,客户端选择其中一条UDP通道作为后续语音传输通道。 c.长连接服务器通知接收方有对讲请求,接收方加入对讲,同时和STUN中转服务器发起穿洞过程,该过程与发起方的STUN穿洞过程是一致的。长连接服务器在收到接收方的信息后,通知发起方对方已加入,然后双方进入实时对讲状态。d.双方进入对讲状态,双方可

9、以按住对讲按钮实时(sh sh)对讲,对讲数据将通过STUN服务器协商的通道由中转服务器中转给对方,双方进入对讲状态。 (3)查找附近(fjn)的人交互流程 用户(yngh)可以通过手机终端的LBS功能,获取附近的其他微信用户的信息列表: a.通过位置服务器获取当前位置信息,该位置服务器一般为手机自带的位置服务器或其他第三方服务器,例如Google地图、Apple地图。 b.客户端通过TCP长连接告诉服务器要找附近的人。 服务器将附近的人按从近到远的顺序发送给客户端。 d.如果当前显示页面中的人有设置头像,且本地没有缓存,则向发起HTTP请求GET/mmhead/.来获取摇出来的好友的头像等基

10、本信息,GET请求个数与摇出来的好友的个数有关。 e.选中一个人,打开详细信息界面,如果此人有相册,则从服务器中获取相片信息。(4)漂流瓶功能(gngnng)的交互流程 微信用户通过检获或扔出漂流瓶的方式认识新的好友,流程(lichng)如下: 1.进入界面时,与服务器在TCP长连接上进行通信(tng xn),查看自己扔出去的漂流瓶是否有回应。 2.捡瓶子时,与服务器在TCP长连接上进行通信,返回结果有两种,没有或者捡到一个。如果捡到一个,会从服务器中获取漂流瓶拥有者的头像。 (5)摇一摇/附近的人功能的交互流程 基于智能手机终端的重力感应功能,用户通过摇一摇手机,寻找到在此刻也在“摇一摇”的

11、用户,流程如下: 1.客户端将摇手机的信息通过长连接通知服务器。 2.服务器把同一时段摇手机的好友列表信息发送给客户端。 3.如果当前显示页面中的人有设置头像,且本地没有缓存,则向发起HTTP请求GET/mmhead/.来获取摇出来的好友的头像等基本信息,GET请求个数与摇出来的好友的个数有关。 4.选中一个人,打开详细信息界面,如果此人有相册,则从服务器中获取相片信息。(6)朋友圈功能(gngnng)的交互流程 微信的朋友圈功能(gngnng),用户依次点击(din j)“发现”、“朋友圈”,会列出朋友圈好友发布的状态、文字,分享的图片、链接(网页或者视频)等,接下来按照内容类型不同分别进行

12、说明:A、获取朋友圈好友头像:朋友圈好友头像,与通信录中好友头像一样,客户端从域名获取,根据域名解析获取的源站IP,发起HTTP GET请求,获取朋友头像;以下为一个获取头像的实例URL和头像图片。 HYPERLINK /mmhead/ver_1/MCBzc7dcIsTvyQbYl9rhQEVIt3J6MbDGbeRicDx7ozI2WxQNVgNADszTtMUu6ssVeFTQrVAw19qBXnoXfUOuhmw/96 /mmhead/ver_1/MCBzc7dcIsTvyQbYl9rhQEVIt3J6MbDGbeRicDx7ozI2WxQNVgNADszTtMUu6ssVeFTQrVA

13、w19qBXnoXfUOuhmw/96该域名可以(ky)通过缓存进行加速。B、访问(fngwn)朋友圈小视频:朋友圈的小视频是好友通过手机终端自己录制(l zh)、然后进行分享的视频,主要域名是,例如: HYPERLINK /1023_b2fa67ac92594b389230915116cc4edf.f0.mp4 /1023_b2fa67ac92594b389230915116cc4edf.f0.mp4是一个朋友圈小视频的URL。获取该视频文件响应消息如下: Last-Modified: Mon, 03 Nov 2014 14:37:41 GMTCache-Control: max-age=7

14、200Date: Mon, 03 Nov 2014 14:37:58 GMTContent-Length: 328702Accept-Ranges: bytesX-ServerIp: 7Content-Type: video/mp4C、朋友圈网页链接分享:好友分享的链接呈现在好友圈中,用户点击该链接,通过域名为 HYPERLINK /s?_biz=MzA5NjEwNTQxOQ=&mid=200444616&idx=2&sn=aa632a60b85d967798ee1f3cab0c70f9&scene=2&from=timeline&isappinstalled=0 的服务器提供的跳转服务,载入

15、该网页。举例说明:好友在朋友圈中分享的连接URL: HYPERLINK /s?_biz=MzA5NjEwNTQxOQ=&mid=200444616&idx=2&sn=aa632a60b85d967798ee1f3cab0c70f9&scene=2&from=timeline&isappinstalled=0 /s?_biz=MzA5NjEwNTQxOQ=&mid=200444616&idx=2&sn=aa632a60b85d967798ee1f3cab0c70f9&scene=2&from=timeline&isappinstalled=0#rd 该网页是关于“跆拳道基本动作手册”说明的,在浏

16、览器中使用该链接(lin ji),也可以打开网页。网页中主要元素是js、css文件以及图片文件。通过在浏览器中分析元素资源地址,得知样式表css、脚本js来自域名(y mn)为的服务器,获取css文件的URL为: HYPERLINK /mmbizwap/zh_CN/htmledition/style/page/page_mp_article2248c4.css /mmbizwap/zh_CN/htmledition/style/page/page_mp_article2248c4.css获取(huq)js文件的URL为:/mmbizwap/zh_CN/htmledition/js/biz_wa

17、p/moon224ef3.js而图片资源主要存放在域名为的服务器上,例如本链接中获取图片的URL为: HYPERLINK /mmbiz/VlESyYdYibfhErd2VY8vXicicMXmicE5icE0ajqmOchWXyaSBxWyzicyRNVtbMhGlXvEFMxFqZ6ANMnzaXBmjG6icP5dw/0?tp=webp /mmbiz/VlESyYdYibfhErd2VY8vXicicMXmicE5icE0ajqmOchWXyaSBxWyzicyRNVtbMhGlXvEFMxFqZ6ANMnzaXBmjG6icP5dw/0?tp=webp HYPERLINK /mmbiz/

18、VlESyYdYibfhNXEkW6moicY5o7cN1lg9opIw03ES6YH73JJn0SNr84GQulicWt53am7X1DXzoYps01Dfo44pN8Gng/0?tp=webp /mmbiz/VlESyYdYibfhNXEkW6moicY5o7cN1lg9opIw03ES6YH73JJn0SNr84GQulicWt53am7X1DXzoYps01Dfo44pN8Gng/0?tp=webp域名(y mn)中的图片(tpin)资源可以缓存以提高获取的速度。(7)游戏(yux)下载功能的交互流程对于Android和IOS版本的微信,游戏下载来源不同。IOS版本,下载时跳转到it

19、unes,微信只提供跳转链接。/cn/app/id891582840?mt=8Android版本微信可以直接下载,URL格式如下: /mmopen/IEGgames/10000145_1414032284_FruitNinjaFever20141013_v2_1.0.5_2.apk游戏图标等使用图片类域名,例如: /mmbiz/rRr1pd10MIEtsSCqqqtuE4OTHNq2qx7qjKzFqw39Ab25cwKojqOW4aTVGZDerSiaftCPF63gy9ljy9jCFOdptUQ/0 (8)微信购物(u w)功能的交互(jioh)流程 点击(din j)微信的“发现”“购物

20、”,使用微信购物功能,此过程通过域名跳转到京东和拍拍源站,加载商城网页。微信商城浏览页面和商品部分通过http协议传输,可直接缓存加速。页面中的主要资源是图片,这也是影响网页加载速度的主要因素,图片资源主要存放在京东、拍拍的图片资源服务器中,这些资源通常是可以被缓存的。在微信支付和微信钱包中,传输通过加密方式,不可通过缓存方式加速。 如下是一个微信购物的链接:/promote/11_wx.shtml?hall=4&PTAG=17007.4.4&ptype=1&wc_scene=1 页面的内容使用(shyng)京东或者拍拍网资源: HYPERLINK /boss-54472686-DE46EC1E5447268604010000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论