即时通信工具通信原理.doc_第1页
即时通信工具通信原理.doc_第2页
即时通信工具通信原理.doc_第3页
即时通信工具通信原理.doc_第4页
即时通信工具通信原理.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

即时通信工具1. 什么是即时通信即时通信是基于网络的一种新兴应用,它最基本的特征就是信息的即时传递和用户的交互性,并可将音、视频通信、文件传输及网络聊天等业务集成为一体,为人们开辟了一种新型的沟通途径。简单地讲,即时通信是一种使人们能在网络上方便快捷识别在线用户并与他们实时交换信息的技术,并逐渐成为继电子邮件之后最受欢迎的在线通讯和交流方式。与传统通信方式相比,即时通信具备快捷、廉价、隐秘性高的特点,在网络中可以跨年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。2. 即时通信的原理即时通信是一种基于网络 的通信技术, 涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒体音视频编解码/传送、Web Service等多种技术手段。无论即时通信系统的功能如何复杂,它们大都基于相同的技术原理,主要包括客户/服务器(C/S)通信模式和对等通信(P2P)模式。C/S结构以数据库服务为核心将连接在网络中的多个计算机形成一个有机的整体,客户机(Client)和服务器(Server)分别完成不同的功能。但在客户/服务器结构中,多个客户机并行操作,存在更新丢失和多用户控制问题。因此,在设计时要充分考虑信息处理的复杂程度来选择合适的结构。实际应用中,可以采用三层C/S结构,三层C/S结构与中间件模型非常相似,由基于工作站的客户层、基于服务器的中间层和基于主机的数据层组成。在三层结构中,客户不产生数据库查询命令,它访问服务器上的中间层,由中间层产生数据库查询命令。三层C/S结构便于工作部署,客户层主要处理交互界面,中间层表达事务逻辑,数据层负责管理数据源和可选的源数据转换。P2P模式是非中心结构的对等通信模式,每一个客户(Peer)都是平等的参与者,承担服务使用者和服务提供者两个角色。客户之间进行直接通信,可充分利用网络带宽,减少网络的拥塞状况,使资源的利用率大大提高。同时由于没有中央节点的集中控制,系统的伸缩性较强,也能避免单点故障,提高系统的容错性能。但由于P2P网络的分散性、自治性、动态性等特点,造成了某些情况下客户的访问结果是不可预见的。例如,一个请求可能得不到任何应答消息的反馈。当前使用的IM系统大都组合使用了C/S和P2P模式。在登录IM进行身份认证阶段是工作在C/S方式,随后如果客户端之间可以直接通信则使用P2P方式工作,否则以C/S方式通过IM服务器通信,如下图所示:3. 常用的即时通信工具随着移动互联网的发展,互联网即时通信也在向移动 化扩张。目前,微软、AOL、Yahoo、UcSTAR等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。现在国内的即时通信工具按照使用对象分为两类:一类是个人IM,如:腾讯QQ,腾讯微信、百度hi、移动飞信等。通过个人IM文字消息、音视频通话、文件传输等功能,您可通过它找到志同道合的朋友,并随时与好友联络感情;另一类是企业用IM,简称EIM,如:RTX、EC企业即时通信软件,UcSTAR、商务通等。4. 各类即时通信软件的实现过程按照即时通信的功能分类,可以将现在国内的流行即时通信工具分为3类,第1类是腾讯QQ、移动飞信、微软MSN之类,第2类是彩信MMS,以及第3类是最近特别流行的腾讯微信、米聊。按照功能分类,下面详解一下其实现的过程:4.1 第1类:腾讯QQ、中国移动飞信A. 腾讯QQQQ是腾讯公司的一款即时通信软件,从1999年开始应用至今,通过网络,实现文字、语音、视频等通信方式,深受广大民众喜爱。这里列举的是 QQ2007beta4 版本的通信原理,相信之后的版本暂时也不会有太大改动。 登陆不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000 。因此,假如你所在的网络开放了80端口,但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功 QQ 的。 聊天消息通信采用 UDP 协议,通过服务器中转方式。因此,现在的IP侦探在你仅仅跟对方发送聊天消息的时候是无法获取到IP的。UDP协议是不可靠协议,它只管发送,不管对方是否收到的,但它的传输很高效。但是,作为聊天软件,怎么可以采用这样的不可靠方式来传输消息呢?于是,腾讯公司采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。之所以会发生在客户端明明看到 “消息发送失败”但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有收到服务器的应答包引起的。 文件 / 自定义表情传送QQ 可以传送文件,可以发送自定义表情。先说官方表情,官方表情实际发送的是命令字,而没有发送表情。客户端收到命令字后,会自动解释为对应的表情。自定义表情的传送是以文件传输方式进行的。下面说文件传输方式:A 要向B 发送一个文件,于是发出一个文件传送请求。服务器收到这个文件传送请求后,转发给B ,同时在 B 应答后,将 A 的 IP 地址同时发送给B。B这个时候就得到了A的真实IP,这里的IP是你的本机IP。也就是说,如果 A 处在内网,B得到的地址就是一个内网地址。B得到了 A 的地址之后,就会尝试去连接 A。如果 B也处于内网,那么,显然A跟B之间的连接是无法建立的。这个时候,客户端就会请求服务器进行文件中转。因为服务器具有公网 IP,处在内网的A跟B都是可以连接到服务器的,于是,A跟B的文件传送就通过服务器中转的方式,顺利进行。B. 中国移动飞信飞信是中国移动的综合通信服务,即融合语音(IVR)、GPRS、短信等多种通信方式,覆盖三种不同形态(完全实时的语音服务、准实时的文字和小数据量通信服务、非实时的通信服务)的客户通信需求,实现互联网和移动网间的无缝通信服务。中国移动飞信的功能: 免费文字聊天、移动速配。PC对PC语音视频聊天免费,PC对手机语音视频聊天双向收费,手机对手机语音视频聊天也是双向收费。 通过电脑或手机的飞信客户端免费发送短信到你好友的手机上 使用手机语聊功能,随时随地组织或者参与两人或多至8人的语音聊天飞信官方提供了PC客户端和手机客户端两种客户端来使用飞信业务。首先看一下手机客户端即时通信的登录过程:1) 手机客户端激活数据网络(GPRS/EDGE/TD),使用CMWAP获取IP2) 手机客户端通过WAP网关向飞信服务器发送登录请求3) WAP网关接收到请求后,在请求中添加相应的手机号码,构造新的请求,发送至飞信服务器4) 飞信服务器根据登录请求中的用户信息,处理用户的登录,创建用户登录会话,并通过WAP网关返回登录响应手机客户端接收到响应后,完成登录。这个过程中还包含有获取配置、获取用户列表等交互内容,不详细表述。这个过程中,所有的消息,都是明文传送。登录之后,用户如果需要向朋友发送消息,流程大致如下:5) 手机客户端通过WAP网关,向飞信服务器发送消息请求6) 飞信服务器处理用户的消息请求,包括进行消息转发等操作7) 飞信服务器通过WAP网关,向手机客户端返回发送消息响应这个过程中,经过WAP网关的消息,WAP网关不做任何处理,详见下图:接下来看看官方PC客户端的登录过程:官方提供的PC客户端,支持任何网络。提供用户名(手机号码)/密码的设定,并以用户名/密码作为用户鉴权标识。具体来讲,其登录流程如下,如下图所示:图2 PC客户端登录、消息流程1) PC客户端通过网络向飞信服务器发送登录请求,包含用户名/密码。此过程中,用户手机号码为明文传送,但密码为加密传送2) 飞信服务器根据登录请求中的用户信息,处理用户的登录,创建用户登录会话,并返回登录响应3) PC客户端接收到响应后,完成登录总的来说,移动飞信的即时通信过程和腾讯QQ差不多。当用户A通过手机客户端或PC客户端,向用户B发送短信时,如果刚好用户B不在线,也就是没在使用PC客户端或者手机客户端时,那么用户A发给用户B的信息将通过飞信服务器转到移动短信中心SMS,再由SMS发送到用户B的手机,实现信息传送,如下图:4.2 第2类:彩信彩信的英文名是MMS,它是Multimedia Messaging Service的缩写,意为多媒体信息服务,通常又称为彩信。它最大的特色就是支持多媒体功能,能够传递功能全面的内容和信息,这些信息包括文字、图像、声音、数据等各种多媒体格式的信息。以中国移动彩信为例,彩信在技术上实际并不是一种短信,而是在GPRS网络的支持下,以WAP无线应用协议为载体传送图片、声音和文字等信息。彩信业务可实现即时的手机端到端、手机终端到互联网或互联网到手机终端的多媒体信息传送。彩信是实现过程如下:A、发送方发送消息 消息发送方编辑欲发送的多媒体消息。 终端中存在MMSC的信息,它建立一个WAP连接(CSD/GPRS),并将用WAP WSP 的协议进行编码后的消息作为一个WSP POST内容发送出去。然后WAP网关以HTTP协议将内容传送给MMS中继器,中继器再传至MMSC。 MMSC接收消息,将信息的内容将转换成MIME的格式后存储,并进行数据分析,从而得到路由信息,用户终端信息,同时通过同一个WAP连接对发起方做出响应,发送方终端显示“消息已发出”。B、MMSC通知接收方 MMSC使用WAP PUSH 向接收方发送一条通知消息。C、接收方提取消息 如果接收方的终端已设置成接收MMS消息它将建立一个WAP连接(CSD/GPRS),并使用WSP GET从MMSC取回MMS消息。 MMS消息被作为一个WSP GET RESPONSE 的内容,通过同一个WAP连接发送至接收者。 接收方终端仍通过同一个WAP连接用WSP POST消息告知接收成功。D、MMSC通知发送方发送成功 MMSC使用WAP PUSH 告知发送方消息已送达,发送方终端显示“消息已送达”。 从上述MMS发送的实现过程可以看到,MMSC并不是直接将MMS消息发送给接收者,而是向其发送一个通知,告诉接收方有一条消息正在等待。根据终端设置的不同,接收方的终端将尝试立即提取该消息,或者推迟一段时间提取,又或者仅仅将通知放在一边,不予理会。而当用户设置成“立即提取”时,除非消息真正被送达,否则用户并不知道将收到一条消息。终端自己处理消息的提取,然后才告知用户“消息已接收”。4.3 第3类:微信微信是腾讯公司于2011年初推出的一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件。用户可以通过微信与好友进行形式上更加丰富的类似于短信、彩信等方式的联系。微信软件本身完全免费,使用任何功能都不会收取费用,微信时产生的上网流量费由网络运营商收取。因为是通过网络传送,因此微信不存在距离的限制,即使是在国外的好友,也可以使用微信对讲。微信具体特点如下: A. 特色功能 支持发送语音短信、视频、图片(包括表情)和文字 支持多人群聊,最高20人 支持查看所在位置附近使用微信的人 支持微博、邮箱、漂流瓶、语音记事本、QQ同步助手等插件功能B. 多平台 支持iPhone、Android、Windows phone、塞班平台的手机之间相互收发消息 C. 省流量 图片、语音和视频优化,1M可发约1000条文字信息,1000秒语音信息,约1分钟视频信息 后台运行只消耗约2.4K/小时微信的即时通信实现过程:微信的即时通信原理和腾讯QQ一样,这里就

温馨提示

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

评论

0/150

提交评论