【Java开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Java开源代码-基于Jabber协议的手机即时通讯系统的研究与实现-[硕士论文] - 产品手册的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
原创性声明 本人郑重声明:所呈交的学位
论文,是本人在导师的指导下,独立进行研究所取得的成果。
除文中已经注明引用的内容外,本
论文不包含任何其他个人或集体己经发表或撰写过的科研成果。
对本文的研究在做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人 翠址日期:牛完全意识到本声明的法律责任由本人承担。
论文作者签名: 关于学位
论文使用授权的声明 本人完全了解贵州大学有关保留、使用学位
论文的规定,同 意学校保留或向国家有关部门或机构送交
论文的复印件和电子 版,允许
论文被查阅和借阅;本人授权贵州大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存
论文和汇编本学位
论文。
(保密
论文在解密后应遵守此规定)…槲:袒神签名趟期:率,_ 摘要 即时通讯(Instant Messaging,IM)是基于互联网协议的应用程序,它能够使应用不同类型设备的用户进行通信。
IM最流行的形式是聊天.在聊天的同时可以在计算机之间交换文本消息。
时至今日,可以说.即时通讯工具已经从时尚(以OICQ、MSN等为代表)发展成为一种富有价值的通讯工具,即时通讯软件在商务上的魅力日益彰显,它不仅让企业内部员工实时地沟通,还为客户提供一种实时的互动的反馈。
即时通讯成为继短信、
免费邮箱和
搜索引擎之后互联网的又一个党争热点。
手机的不断普及以及其功能的日益强大,已经为即时通讯从传统的PC机到手机的移植做好了充分的准备。
而移动通讯和互联网的不断靠拢也为手机上网提供了极其便利的条件。
可以说,如今基于小型移动设备平台上的即时通讯是具有很大的市场潜力的。
因为它不仅具备传统即时通讯优势,还因其特有的便携和普及的特性,可以为使用者提供更方便快捷的服务。
有了它,用户随时随地都能够和自己的好友聊天,和贸易伙伴洽谈业务。
本课题正是在这样的背景条件下建立的。
本文首先对即时通讯的历史、现状和发展前景进行了简要的介绍,然后对
开源即时通讯系统Jabber的系统架构、组件、Subscriptions运行机制以及服务器方案的选择等等进行了详细的阐述,最后结合本文所实现的手机IM产品Gm(产品名).解释了如何在手机平台上利用Jabber技术实现即时通讯的各种功能,并给出了核心
代码。
本文所做的主要
工作、技术难点与创新如下: 1、Jabber技术的研究:通过大量查阅Jabber的相关资料和
代码.追溯其发展过程,研究 Jabber设计系统框架、体系结构和开发模式,使得即时通讯系统在稳定性、可扩展性 等方面得到最大的优化。
2、实现基于移动设备的即时通讯系统:基于Jabber技术,采用J2ME语言在手机平台 上实现了即时通讯功能。
由于使用了Jabber技术,系统能够提供自身的Presence信 息.真正地帮助用户做到“随时在线”。
在文中.作者提出了挑于Jabber的手机即 时通讯系统的系统架构,并且有步骤的讨论了如何实现一个基于Jabber的,可移植 性强的、稳定的手机即时通讯系统。
3、系统整体架构体系的制定:木文实现的手机即时通讯系统采用的是客户/服务器架 构的体系结构,服务器采用赫于Jabber的Wi ldFire,用户数据和系统信息的存储 由MySQL数据库实现,而由r丁辑,’端是基于手机的
java虚拟机平台的,所以采用 J2ME语言进行开发。
4、分析、研究并制定服务器端技术解决方案:对主流的各种即时通讯服务器从不『i司的 角度进行比较和分析,并重点讨论了基于Jabber的』f源的服务器WildFire,指出了 WildFire服务器的特点和优势,制定了予机即时通讯系统服务器的解决方案。
5、针对小型移动设备设计祥户端解决方案:III于小型移动设备的田有特点,如运算能 力差、内存小和对Java的支持程度的不统一,使得甚于手机平台的即时通讯软件的 开发存在许多凼难。
本文中,为客户端程序设计的模块划分提}{1了合理的解决
方案, 将客户端分为底层通讯模块、中层的数据解析模块和定义模块以及最上层的功能模 块pq个部分。
6、根据客户端设备与脚络条件
设计了完善的网络的连接方案:在本文-11实现的即时通 讯系统中.手机客户端和服务器端的通讯是通过中国移动公司的GPRS网络实现的, 由于客户使用的于机机型的差异和用,、所在地区网络条件的不同,系统IMk棒了 Http连接和Socket连接两种方式,并且客户端
程序的网络连接功能模块具有自动切 换的网络连接方式的功能,同时为了兼容中国移动公司GPRS网络的一些特殊限制 (如CMWAP网关等),还采取了相应的措施。
7、通讯数据编解码方案:在系统的通讯过程中,XML数据流需要频繁的在窖户端、 WildFire服务器以及MySQL数据库之间传递.文中对这个通讯过程进行了详尽的 分析.并对通讯过程中数据流的编码转换提出了切实可行的解决方案,保证了通讯 的畅通和有效。
本文主要工作在Nokia、Motorola、SE等品牌主流机型都得到实现.整个系统目前运转正常,注册用户已超过50万,取得一定的社会和
经济效益。
作者在读研期间,已经在《
计算机系统应用》学术刊物。
l:发表一篇
论文。
关键字:J2ME、即时通讯、Jabber、WildFire、XML、XMPP 4 ABSTRACT Instant Messaging(IM)is an internet-based protocol application that allows communicationbetween users employing a variety ofdevice.The most popular form ofIM is chaRing.at the sametime text·based messages are exchanged among computers.Now we can say that IM has become aval.able tool from fashlon(such as OICQ。
MSN and so on).In commemial domain IM softwarehas become more and more important day by day.It not only makes timely communicationbetween coHeagues but also provides a platform to reply the customers promptly.It has become aDeW hotspot after short message,the free mmlbox and the search engine. Along with the popularity of mobile phone and the mightiness of its function the market hasalmady prepared for the transplant of IM from PC to handheld device.Otherwise,as the solutionof Java on handheld devices.J2ME(Java 2 Micro Edition)has obtained greatly progressed.Theinusculation between mobile communication and internet provides extremely convenicntcondition.In fact,IM facility on micro mobile information device has giant market potential.Except the traditional superiority,IM facility on mobile phone has proper character-convenienceand popularity.It can serve perfect service.Users can chat or trade with their partners anywhere. This topic is established under such background condition. First of a11.history,present situation and prospects of IM m briefly introduced in this paper.After that Jabber’s system architecture and component,Subscriptions’mechanism and server’ssolution are described detailedly.At last author explain how to develop IM system on mobilephone Using Jabber.And the pivotal codes wcrc given in the paper.The main work.nodus oftechnology and the innovation are as follow: 1、The research of Jabber’s technology:reading plenty of papers and codes.tracing its developing process,analyzing Jabber’s system architecture and develop pattern. optimizing functions on system’s stability,extendibifity. 2、Accomplish a IM system on mobile phone:author accomplished a IM system using J2ME based on Jabber.Because of Jabber this system can provide self-Presence information to make USers’state on line anytime.In this paper the system architecture is made out and discuss how to achieve a perfect IM system based on Jabber step by step. 3、The design of system architecture:the architecture of IM system in this paper is C/S pattern.The server uses WildFire based on JabbeL The system information and users’ data Rrc stored by MySQL.And because the client is based on Java platform in mobile phone.J2ME language is used. 4、Analysing and researching the solution of Sever:the popular IM server is analysed and compared from several different sides in this paper.The characters and advantages of WildFke which is open source are discussed.The solution of server is made. 5、Design a solution of client for micro mobile information device:the micro mobile information device has some weaknesses such as WOrse operation ability,little memory and not enough support for Java.These disadvantages lead,Imany difficulties in developing.In this paper the client is made off four parts,communication module,data parsing module,data defining module and function module. 6、Design the perfect solution of network connection for diverse users:the connection 5 between server and client is on the GPRS of China Mobile Co.The osers’mobilc phones and notwork conditions are di脏reut.So there are two connection modes in the system. Thev ILre Http mode and Socket mode.And they can he switched automaticany. 7、Encoding and decoding in communication:in the process ofthis system communication XML data stream are transferred aleng client.WildFire server and MySQL.The communication is analysed detailedly’the feasible solution is given about encoding and decoding data stream in communication to ensul.e the it is expedite and effective. The IM system introduced in this paper has already been carried out on several brandmobilc phones.include Nokia,Motorola,SE and so on.The system works normally and registereduser¥arc more then 500.000.It has obtained considerable value in economy and society. The author has published a paper in pubHcadon named computer systems&applicationsduring his study for master。
s degree.Keywords:.J2ME、Instant Messaging、Jabber、WildFire、XML、XMPP 6 第一章引言 移动和互联网越来越深入地走进生活,人们渴望在任何时间、任何地点将尽可能多的通讯工具融合在互联网同。
一个沟通环境下,实现各种通讯工具的互补和整合。
人们不再局限于单一的网上或网下的沟通,而是希望通过跨平台、多终端的通讯技术来实现一种集声音、文字、图像的低成本高效率的通讯服务,即时通讯将担负起这种重要责任。
1.1即时通讯简史 即时通讯已经有超过20年的历史。
进入即时通讯领域的第一家公司是AOL.它发行了一个传递即时消息的组件.用于管理所有的流入流出的消息和朋友列表。
这个组件叫做buddy list。
不久之后,Microsoft公司和Yahoo!也相继进入这个领域。
于是MSN和Yahoo通以其与众不同的新服务特性出现在市场上。
在早期,即时通讯仅仅是限制在公告板和快速消息(Splashing message)中使用。
逐渐地,即时通讯成为了年轻人的主要兴趣所在,它成为了不同年龄群,尤其是年轻人之间相互通讯的最
常用的手段。
直到1990年,即时通讯的状况同构思之初相比都没有什么显著的变化。
这主要是因为即时通讯仍然还没有引起人们足够的重视。
然而,随着互联网(Internet)突然的流行和类似语音邮件(voicemail)和在线传递(online transaction)等这些新技术的出现和发展,社会各界都开始认真关注即时通讯技术了。
Intcrnet不仅使即时通讯的用户数量持续增长,也使它的潜能得以充分的发掘——也就是尽可能的消除其限制,全力发掘其新的功能。
1.2 RP日,-J通讯的现状 《中国即时通讯市场年度综合
报告2007)》显示,2006年,中国即时通讯用户数量将增长到11.872万。
2006年即时通讯市场在激烈竞争中进入一个相对稳定的市场格局,集中体现在:2006年年即时通讯用户继续保持增长,从2002-2006年,年复合增长率50.73%,在用户中的渗透率超过80%,成为互联网中最普及的应用之一。
另外,即时通讯在工作场所也逐渐变得越来越普及了.在公司.I:作的员,’C当巾,利用即时通讯与其同事进行沟通的人数可占到58%,用它米解决问题或做出商业决策的员工人数占到了49%,还有一些员〕j为了避免面对而与客户交谈时有时候不成功所造成的尴尬局面等而用即时通讯与他们进行交淡。
大约77%的员jr感到即时通讯对他们的:I:作有着积极影响,大约有13%的员〕:将他们在即时通讯服务中的昵称印在了名片1..。
据AOL即时通讯服务部门的副总裁ChamathPaHhapidya表示,即时通讯已经成为人们日常生活中的一部分,随着越来越多的人将即时通讯服务作为所有通讯的起点,即时通讯服务的使用正在急剧增长,而且这一范围不只存在青少年当中,而且也在向诸如他们的父母、祖父母以及…些专业人士等人群扩展。
他们都在利用这一服务与其亲戚或删进行联系,以增强他们的日常通讯。
就国际上的IM软件市场上来说,MSN是微软公司推“I的即时通讯产品,也是目前全球最流行的聊天工具之一,它以强大的后台以及操作简单,加上比QQ更多的娱乐化、人性化的功能而备受广大网民的喜爱,它最突山的特点是可以通过Flash来进行动态表情的传送,而且在发送文件或发送引人注意的信息时,还可以使_I=|j传情动漫发送带声音的动画以引起对方的注意。
而且精明的微软管理层,把MSN与Windows操作系统捆绑.随着对操作系统的升级,中国人对MSN便很快“家喻户晓”了,更重要的足与QQ过于偏重休c1:J娱乐不同,微软MSN丰要定位于商务应用,使之成为企业职:f:们村l互通信的首选工具。
事实证明,这 7种定位和策略是正确的,在QQ已经占据了国内即时通信市场的绝大多数市场份额的前提下,微软能成功地从腾讯QQ手里抢去了相当大的一部分市场份额。
除了微软的MSN之外,比较成功的还有雅虎通和TOM.Skypc:雅虎通使用即时消息可以与朋友交谈。
并能发现他们何时在线,雅虎通内置了股票、新闻、和记分板等功能,这样不论用户在何处浏览因特网,都可以始终监视用户所有个性化信息;TOM-Skype是TOM与Skypc Technologies-s.A.联合推出的互联网语音沟通工具。
Tom.Skypc采用了最先进的P2P技术。
为用户提供超清晰的语音通话效果,使用端对端的加密技术,任何人无法截取信息,保证通信的安全可靠。
1.3进一步的发展趋势 从即时通信的发展趋势来看.用手机等移动设备和即时通信软件挂钩,把以往只能应用在PC机上即时通信软件移植到移动设备上.让用户能够在更多的领域里应用即时通信产品,是未来咖软件市场发展的一个重要方向。
移动即时通信能够实现主要来自于摄近通信业界最成功的两个应用的结合点:l瑚定网络中的桌面即时通信和移动网络中的短消息
系统。
移动通信的即时通信服务就是在传统的基于Web通信系统的概念上,把手机的短信和手机移动互联网完美的结合起来,使用户通过手机终端.也能够方便的与他人以短信、移动互联网来进行即时的信息交流。
它突破了传统Web界限,把即时信息转移到移动互联网上面,同时用户通过短消息或移动互联网,实现更即时的交流。
可以想象,如果用户在移动终端上能够像桌面即时通信一样方便地使用并且可以访问已有的朋友
列表.无线即时通信系统就能够不费力地获得极大的市场份额,因为桌面即时通信目前在世界范围内已拥有几亿用户。
作为一种服务方式的即时通信系统,若能够真正与移动通信紧密结合,必将获得更大的市场价值。
比如一些互联网即时通信提供商(如QQ)已经拥有了上亿的用户,这些用户同样希望在移动电话上体验与在PC机上一样的业务,因此运营商如何发展将PC和移动
网络结合在一‘起的通信类业务是
问题的关键。
在这方面,各大厂商正在不断加强IM应用软件与移动平台的融合,以实现资源的优势互补和服务内容的整合.通过推出移动IM应用和完善服务内容的方式,进一步将2.5G、3G中许多特色业务 (如PTT、流媒体、视频以及彩信等)应用融入到即时通信系统(IM)中,在扩人了移动的影响力的同时,也给用户提供了更方便、更优质、更具吸引力的服务。
通过这种崭新的业务模式,在不会分流现有业务的客户群体的基础上,扩火IM用户的规模,有效地提升客户忠诚度、推广服务品牌知名度。
所以,移动即时通信系统将是即时通信市场上一个非常重要的发展趋势。
当人们发现通过UPI】,t通信平台和远在异地甚至海外的朋友语音聊天町以节钳相当数额的电话费时,就会介绍身边更多的人使用.移动即时通信的实现将会使得IM用,’成倍的增长。
在实现Pc机和手机的互通以后,即时通信的交流不再仪仪局限于双方同时必须在线的情况。
这在即时
通信历史上绝对具有划时代的意义。
它不仅实现了计算机和手机的对接并且为即时通信厂商找到了新盈利的模式。
现在移动即时通信的应用的各方面条件都已经具备。
一方面随着宽带网的普及,建立在即时通信平台上而的音频、视频的传输质量有了很大提商。
但即时通信的未来发展远不止这些,网易创始人及首席架构设计师丁磊认为,即时通信不仅是对电子邮件的一场深刻革命,而且在几年内即时通信软件必将取代传统的电话成为新一代的主流沟通渠道和个人通信中心。
在未来,通过3G网络或者其他无线传输网络,人们利用手机t网并通过手机里预装的即时通信软件进行文件的传输,包括音乐、电影、图片等的传输。
电话号码将被即时通信账号或网名来取代,同时基于手机的即时通信平台的语音或视频聊天的费用将按照数据流量来计算而不再是高昂的语音话费。
即时通信
软件在Pc机上可以实现的功能通过无限终端设备也完全可以做到,,f且没有了时问空问的限制。
嘲速的提高、无线网络与互联网的互联互通为移动即时通信软件的推出奠定了非常好的嘲络环境。
另一方而各手机厂商推…的各款手机的内存不断扩大、手机屏幕越来越宽、手机联网的能力得到加强,同时一些火的软件公司推出的各种开发平台也支持开发适合手机应用的即时通信软件产品,这些都为在手机上开发即时通信软件产品提供了硬件基础。
于是移动即时通信日益成为3G业务的新的亮点。
但长期以来各IM软件厂商推出的IM软件相互独立,缺乏基于统一标准的互用性,使得各种IM系统之间无法互相发送信息.例女NAOL与Yahoo,MSN与AOL,MSN与QQ等,他们之间就不能相互通信。
因此.制订一种统一的办议就迫在眉睫了,这种统一协议应当可用于E.mail、Web和语音流的简单邮件传输协议(SMTP)、HTTP和实时协议(RTP)等IM应用。
由Jabber组织发展的Jabber脚议,其中包含支持符合IETF规范的即时消息}HPresence技术的基本办议形成了XMPP协议,xMPP(Extensible Messaging and Presence Protocol,即可扩展消息处理现场协议)为用于现场的消息路由处理的XML数据流协议.最近被确立为IETF标准。
但作为一种基于m技术的通信基础软件,即时通讯最终成为开放式的、互通的在线通信:〔具肯定是大势所趋。
即时消息已经成为语音及文本的在线即时通信的主要技术,它必将成为未来移动商务、在线办作及Internet应用的核心,同时也将继承IP技术的开放风格,扮演比电子邮件更为重要的角色。
在应用的多样性方而。
2.5G和3G网络,为移动即时通信提供了极富吸引力的平台。
随着IM技术的发展,其集成多利,应用将会成为一个必然的趋势。
9 第二章Jabber即时通讯系统概述 第一个Jabber技术的应用足由
开源社区发起并一直领导的即时消息的实时系统。
Jabber即时消息(IM)系统和现有IM服务相比较由以下几个关键特点: ◆XML为基础 ◆分布式网络 ◆开放的办议和内核
代码 ◆模块化的、可扩展的系统架构 深入技术内部.Jabber就是使得Internet上的任意两个实体以几近实时的方式来交换消息,存在以及其他的结构化信息的一组流XML办议和技术。
发展到今日,Jabber技术已经相当的成熟了。
很多工程师仍在从事Jabber技术的开发,到目前为止已经有数以万计的Jabber服务器在Internet上运行,并且有数百万的人们用Jabber搭建即时通讯系统。
2.1 Jabber的即时通讯模型 Jabber在设计上很大程度上沿袭了Intcrnet上最成功的消息系统:即email。
这样Jabber就可以在一个使用共同办议的服务器组成的分布式网络上提供通信,连接这个网络的客户端,可以象接收消息一样发送消息给同一个服务器或其他Intemet上的服务器上的用户。
不过,尽傍email是一个存储一转发系统,但Jabber转发消息却是实时的,因为Jabber服务器 (连同其他所有Jabber服务器在内)知道…个用户什么时候在线。
这个能力被称为在线,也是即时消息的核心所在。
Jabber通过两个附加功能提供这些IM标准特性,这也使得Jabber与众不同。
首先是…个允许消息系统问协同
作业的开放协议。
其次是建立在XML上的强大根本,它使得非但是两个人之问的通信,甚至是应用软件之间的通信成为了可能。
2.I.I Jabber的整体架构 Jabber使用的是客户端一服务端的系统架构,而不是其它一蝗即时消息系统使用的客户端~客户端的系统架构。
所有从一个客户端发给另一个客户端的Jabber消息和数据都必须通过服务端。
任何一个客户端都可以通过商议与另一个客,1端自Itt地建立一个直接地连接,但这些连接只用于特殊服务地应用。
有一些实例被鼓励建立这种连接.比如文件传输,但这些实例必须先通过一个客户端一服务端形势进行协商,才能建立。
Jabber地网络体系是模仿e.mail系统地。
每一个用户都有自已的本地服务器,并从该服务器上接收信息,消息和在线信息在这些服务器之问传输。
可以添加任意数目的Jabber服务器,这些服务器接受客户端的连接,并与其它Jabber服务器进行通信。
每一个Jabber服务器都独立于其他Jabber服务器,并且拥有其自身的用,、列表。
通过Internet,任一Jabber服务器都可以与其他Jabber服务器进行通话。
每一个JE|j户都与一个特殊服务器(提供
注册服务的服务提供商或行政管理企业)相对应,Jabber地址和email地址的形势是一样的,如:stpeter@jabber.org。
2.1.2模块化的服务器端Jabber服务{{}}遵循两个主要法则: (I)监听举;=户端连接,并直接与窖户端应用程l序通信。
10 (2)与其他Jabber服务器通信。
Jabber
开源服务器被设计成模块化,由各个不同的
代码包构成,这些
代码包分别处理类似用户认证、数据存储(离线消息.花名册,用户信息等)等等。
另外,服务器可以通过附加服务来进行扩展,如完整的安全策略,允许服务器组件的连接或客户端选择,通向其他消息系统的网关。
一个模块化的例子就是通过Jabber XML翻译成其他协议的独立“transport”(传输器),可以实现Jabber消息系统与非Jabber消息系统之间进行消息和在线信息的交流。
这些传输器并不是服务器内核。
相反,它们是很容易添加到服务器内核服务器端程序,为终端用.