基于安卓平台实时通信系统设计和实现.docVIP

基于安卓平台实时通信系统设计和实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于安卓平台实时通信系统设计和实现

基于安卓平台实时通信系统设计和实现   随着通信和网络Internet的迅猛发展和完美结合,以网络为基础,能够和其他的在线用户进行交互信息的实时通信系统,凭借其方便快捷的优势,受到了很重视信息反馈速度的服务行业和商业的青睐。传统的通信大部分都是在PC端实现的,但是随着各种各样的操作平台的涌现,为实时通信提供了很好的硬件基础,移动设备上的实时通信的研究成为了目前的一个热点。当下的操作平台有Symbian、Iphone的iOS以及andriod等等,就基于安卓平台下的实时通信系统的设计和实现进行研究叙述。   实时通信android设计与实现   1当下实时通信系统的发展现状   当下实时通信软件发展迅速,实时通信以其自身的实时性、效率高、成本低廉以及跨平台性等等优势,备受大众们喜爱,成为最受欢迎的沟通手段之一。   对于个人的实时通信系统,不得不提的就是腾讯公司的QQ。自从QQ推出以后,以70%的市场比例份额遥遥领先,稳坐国内实时通信软件的第一把交椅。在国际上则是微软公司推出的MSN,它的最大优势就是后台强大且操作简单。微软实行MSN和WINDOWS系统捆绑,使得国人也同样家喻户晓。QQ偏重休闲,MSN则侧重商务。   在08到09年国内外的实时通信处于萌芽的导入期,当时的金融危机促使通信市场向高效、安全的方向发展。未来的实时通信服务应提供多媒体平台,提供给用户更加方便快捷的应用,把实时通信转移到移动设备上。比较常用的几种平台,比如Symbian比较强势;Window Mobile费用太高;iPhone的iOS比较封闭。这些都是相较于安卓的致命弱点。国内在基于安卓平台的实时通信的设计和研究将会受到更广泛的关注。   2实时通信系统的设计   2.1服务器端设计   服务器端首先对每一个连接的用户都需要认证,当客户发起连接请求的时候,服务器端就会调用XML的解析模块对用户的指令进行解析,对XML中的iq元素以及query元素的包体实行查询指令,这些信息中包含有客户的全部认证信息。服务器端的认证部件就会对用户的认证信息进行认证,再将认证结果反馈给用户的客户端。在用户通过认证之后,服务器就会执行一个会话,所有的message消息以及iq消息等就会在这个会话中来回的进行传递,一直到用户发送关闭该数据的消息。   在这个系统里,我们主要就是完成服务器端和用户端的连接工作。在实时通信系统中,最重要的就是消息的实时性,通俗说就是客户端之间发送消息的时候,只要对方在线就可以迅速的收到消息。其中一个用户的状态有所变化,好友们就可以立即发现变化的信息。服务器会对应每一个连接状态的用户创建会话,这个会话会一直活跃到用户客户端和服务器断开连接的时候。服务器负责接收用户发送的消息,处理之后传送到目标用户会话,在经由目标客户会话传送到目标用户的客户端。会话的管理组件利用线程来提高消息输送的性能。启动服务器,一定数量的线程到指定的线程池里边,服务器的其他组件有反馈消息到会话管理组建的时候,会话管理组件就会在线程池中指定未使用的线程到消息端口,用来监听客户端。   对于服务器的消息处理,连接控制模块接收消息在将消息传送到stanzahandler模块进行处理,如果用户是第一次连接,服务器就会调用会话的管理组件来创建和所连接客户端JID相关的会话,在stanzahandler模块判断消息的类型,处理用户登入的相关消息,而其他类似的消息就交给packetrouteimple处理。在整个服务器的消息处理中,核心部件就是Routing Table,消息经过处理转由客户端会话来完成消息的交互。其中消息的处理类型主要就是Message消息、presence以及iq消息。   2.2客户端的设计   所谓客户端就是为了与服务器端实行通信,向服务器发送以及接受请求信息,来完成实时通信。安卓客户端的用户界面的建立方法可以是定义XML文件或者进行代码编写。前者的效率是非常高的,而且在代码的理解和重用上是非常方便的。在安卓平台上,应用程序最小的单位是活动,和用户打交道,但其自身并不活动在屏幕上,而是通过加载试图的资源来实现显示的。而在后台的应用程序则是通过Service来设计,它不带界面,我们可以通过binder来绑定相关活动。   关于存储数据,我们都是通过安卓系统自身的数据库来存储用户的信息以及实时聊天的信息的,使用常见的SD卡来存储图片以及音乐文件等等。使用连接服务器将数据库封装起来,让应用程序使用连接服务器的界面函数。因为数据库只是很多的资料储存系统的其中一个,其他各个系统的界面都是不尽相同的。连接服务器能够提供一直的界面,使应用程序能够独立于特定的数据库系统中。这样就能提高数据库系统的替换性。   XML的解析模块。对XMl消息进行解析,我

您可能关注的文档

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档