欢迎来到天天文库
浏览记录
ID:26808446
大小:55.00 KB
页数:9页
时间:2018-11-29
《基于jabber协议的移动即时通讯系统研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Jabber协议的移动即时通讯系统研究与实现摘要本文利用支持Jabber协议的开源服务器E平台的手机上实现了一个移动即时通讯系统,该系统不但具有传统即时通讯的文本信息传递功能,还具备拍照、传递照片、群组聊天以及查看资讯等功能。关键字J2ME;即时通讯;Jabber;L;XMPP1课题研究背景移动IM(InstantMessage),也就是移动即时信息(即时通信、即时通讯)工具,是移动终端与即时通讯工具的结合。从最初的移动QQ、手机MSN,到陆续出现的“飞信”、“超信”、“灵信”,当然还有不容忽视的PICA,各类型的移动即时通讯工具让用户
2、通过手机就可以与朋友或工作伙伴进行实时交谈、互传信息、娱乐消遣,它们正改变着我们的沟通模式甚至生活习惯。但长期以来各IM软件厂商推出的IM软件相互独立,缺乏基于统一标准的互用性,使得各种IM系统之间无法互相发送信息,例如AOL与Yahoo,MSN与AOL,MSN与QQ等,它们之间就不能相互通信。因此,制订一种统一的协议就迫在眉睫,这种统一协议应当可用于E-mail、TP)、HTTP和实时协议(RTP)等IM应用。由Jabber组织发展的Jabber协议,其中包含支持符合IETF规范的即时消息和Presence技术的基本协议形成了XMPP协议
3、,XMPP(ExtensibleMessagingandPresenceProtocol,即可扩展消息处理现场协议)为用于现场的消息路由处理的XML数据流协议,被确立为IETF标准。本文的研究工作正是基于这一背景。2总体方案设计2.1总体思路移动IM采用的是客户/服务器架构的体系结构,具有服务器端和客户端,其中服务器可以分为两个部分:Jabber服务器和数据库系统。服务器采用基于Jabber的开源服务器ySQL数据库实现,客户端J2ME进行开发。2.2Jabber与SN一样,是一个基于Inter的即时通讯系统,但是同这些即时通讯软件不同的是
4、,它是一个开放的即时通讯系统,也是一个基于XMLStream的协议,用于在Inter上的两个实体之间交换信息,现场状态(presence)和其它的结构化信息。你可以自己架设自己的Jabber服务器,使用不同的JabberClient软件,而不像ICQ或MSN,依赖于AIM或MSN的服务器和软件。IETF已经将Jabber定为即时通讯和现场技术的标准协议,称为XMPP(ExtensibleMessagingandPresenceProtocol),相关的规范是RFC3920和RFC3921。E介绍J2ME是SUN公司在小型设备上的开发平台,它
5、的主要技术优势在于:良好的跨平台能力与J2EE后端无缝的结合能力和Java语言的优良特色,如简单安全以及现有的Java平台上的开发工具。3关键技术研究3.1与MSN、OICQ系统通讯Jabber服务器中的Transport组件是沟通Jabber和非Jabber协议之间差异的组件。当使用Jabber服务器访问非Jabber系统时,Transport组件隐藏了系统之间的差异,这样,用户在访问的时候根本感觉不到自己访问的是外部的系统。但是,当用户第一次访问非Jabber系统时,需要向Jabbertransport注册,注册内容就是用户名和将要使用
6、的外部系统之类的信息。一旦注册成功之后,就可以在外部系统上发送和接收消息。3.2网络连接策略本文的移动即时通讯系统支持Http和Socket两种连接方式。其中,Socket连接方式为默认连接方式,但是不同品牌和型号的手机以及中国移动各地区网络对Socket的支持有差异,所以当Socket连接不被支持的时候系统会自动切换到HTTP连接方式。此外,在国际上,使用Http连接方式通常只有一种GPRS接入方式,但中国有CM两种方式。其中CM拥有完全的Inter访问权,而中国移动对CME的Image类还原图像。3.4消息传递中编码考虑在系统实际开发中
7、,我们通常面临不同的移动终端,有些设备的编码就必须特殊处理。比如,本文采用NOKIA的S60平台机型,NOKIAS60手机在接收ISO8859-1编码时不是与大多数手机那样直接以UTF-8编码方式接收,它只支持ISO8859-1方式接收。但是这种方式接收后,封装在ISO8859-1流中的xml的数据会又一次被进行ISO8859-1编码转换,等于是在对这条封装在ISO8859-1流中的xml语句又封装了一个ISO8859-1的外壳。所以客户端要想得到UTF-8的数据,必须进行两次编码转换,首先剥掉这层ISO8859-1的外壳,得到正常的ISO
8、8859-1数据流,才能向其它机型那样进行正常的ISO8859-1向UTF-8编码的转换。4关键模块实现本文实现的移动即时通讯系统支持群组消息模式。在群组消息模块中,登录的注册用
此文档下载收益归作者所有