计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于Jabber协议的移动即时通讯系统研究与实现(

2014-04-12 01:04
导读:计算机应用论文论文,基于Jabber协议的移动即时通讯系统研究与实现(在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 摘 要 本文利用支持Jabber协议的开源服务器WildFire,在基于J2ME平台的手机
摘 要 本文利用支持Jabber协议的开源服务器WildFire,在基于J2ME平台的手机上实现了一个移动即时通讯系统,该系统不但具有传统即时通讯的文本信息传递功能,还具备拍照、传递照片、群组聊天以及查看资讯等功能。 关键字 J2ME;即时通讯;Jabber;WildFire;XML;XMPP 1 课题研究背景 移动IM(Instant Message),也就是移动即时信息(即时通信、即时通讯)工具,是移动终端与即时通讯工具的结合。从最初的移动QQ、手机MSN,到陆续出现的“飞信”、“超信”、“灵信”,当然还有不容忽视的PICA,各类型的移动即时通讯工具让用户通过手机就可以与朋友或工作伙伴进行实时交谈、互传信息、娱乐消遣,它们正改变着我们的沟通模式甚至生活习惯。但长期以来各IM软件厂商推出的IM软件相互独立,缺乏基于统一标准的互用性,使得各种IM系统之间无法互相发送信息,例如AOL与Yahoo,MSN与AOL,MSN与QQ等,它们之间就不能相互通信。 因此,制订一种统一的协议就迫在眉睫,这种统一协议应当可用于E-mail、Web和语音流的简单邮件传输协议(SMTP)、HTTP和实时协议(RTP)等IM应用。由Jabber组织发展的Jabber协议,其中包含支持符合IETF规范的即时消息和Presence技术的基本协议形成了XMPP协议,XMPP(Extensible Messaging and Presence Protocol,即可扩展消息处理现场协议)为用于现场的消息路由处理的XML数据流协议,被确立为IETF标准。 本文的研究工作正是基于这一背景。2 总体方案设计2.1 总体思路 移动IM采用的是客户/服务器架构的体系结构,具有服务器端和客户端,其中服务器可以分为两个部分:Jabber服务器和数据库系统。服务器采用基于Jabber的开源服务器WildFire 3.0.1,用户数据和系统信息的存储由MySQL数据库实现,客户端J2ME进行开发。2.2 Jabber与WildFire服务器 Jabber就像ICQ,MSN一样,是一个基于Internet的即时通讯系统,但是同这些即时通讯软件不同的是,它是一个开放的即时通讯系统,也是一个基于XML Stream 的协议,用于在Internet上的两个实体之间交换信息,现场状态(presence)和其它的结构化信息。你可以自己架设自己的Jabber服务器,使用不同的Jabber Client 软件,而不像ICQ或MSN,依赖于AIM或MSN的服务器和软件。IETF已经将Jabber定为即时通讯和现场技术的标准协议,称为XMPP(Extensible Messaging and Presence Protocol),相关的规范是RFC3920和RFC3921。 Wildfire是一款获得许多荣誉的Jabber即时消息服务器,采用Java开发,可以使用任何支持Jabber的客户端如psi、gaim等连接。其主要特点有易于安装、管理、定制以及和其它应用程序集成,有基于GPL的开放源代码版本和商业版本。2.3 J2ME介绍 J2ME是SUN公司在小型设备上的开发平台,它的主要技术优势在于:良好的跨平台能力与J2EE后端无缝的结合能力和Java语言的优良特色,如简单安全以及现有的Java平台上的开发工具。3 关键技术研究3.1 与MSN、OICQ系统通讯 Jabber服务器中的Transport组件是沟通Jabber和非Jabber协议之间差异的组件。当使用Jabber服务器访问非Jabber系统时,Transport组件隐藏了系统之间的差异,这样,用户在访问的时候根本感觉不到自己访问的是外部的系统。但是,当用户第一次访问非Jabber系统时,需要向Jabber transport注册,注册内容就是用户名和将要使用的外部系统之类的信息。一旦注册成功之后,就可以在外部系统上发送和接收消息。3.2 网络连接策略 本文的移动即时通讯系统支持Http和Socket两种连接方式。其中,Socket连接方式为默认连接方式,但是不同品牌和型号的手机以及中国移动各地区网络对Socket的支持有差异,所以当Socket连接不被支持的时候系统会自动切换到HTTP连接方式。 此外,在国际上,使用Http连接方式通常只有一种GPRS接入方式,但中国有CMWAP和CMNET两种方式。其中CMNET拥有完全的Internet访问权,而中国移动对CMWAP做了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的IP(10.0.0.172:80),而无法通过路由访问Internet(少数地区的移动网络可能不存在这一限制)。我们用CMWAP访问Internet就是通过WAP网关协议或它提供的HTTP代理服务实现的。3.3 拍照及照片传送技术 客户端通过mobilemediaapi(mmapi)中的videocontrol来实现,通过调用videocontrol的getsnapshot()方法实现。然后,对数据进行base64编码转换为字符串嵌入xml流;服务器收到收据后解码并利用J2ME的Image类还原图像。3.4 消息传递中编码考虑 在系统实际开发中,我们通常面临不同的移动终端,有些设备的编码就必须特殊处理。比如,本文采用NOKIA的S60平台机型,NOKIA S60手机在接收ISO8859-1编码时不是与大多数手机那样直接以UTF-8编码方式接收,它只支持ISO8859-1方式接收。但是这种方式接收后,封装在ISO8859-1流中的xml的数据会又一次被进行ISO8859-1编码转换,等于是在对这条封装在ISO8859-1流中的xml语句又封装了一个ISO8859-1的外壳。所以客户端要想得到UTF-8的数据,必须进行两次编码转换,首先剥掉这层ISO8859-1的外壳,得到正常的ISO8859-1数据流,才能向其它机型那样进行正常的ISO8859-1向UTF-8编码的转换。4 关键模块实现 本文实现的移动即时通讯系统支持群组消息模式。在群组消息模块中,登录的注册用户可以通过手机来实现传统PC平台的聊天室功能。Jabber的群组聊天或会议机制允许多人同时进行交流,这是对传统即时通讯功能的扩展。具体的业务流程是首先由用户读取群组列表选择登录目标。然后,进行登录并将用户ID注册到这个组中。完成注册后,系统会将本组内的其它成员信息(比如成员列表)发送到当前用户的客户端上。这时系统的会话组件已经为这个群组内地成员做好了消息传递准备,也就是说某个用户的信息可以被服务器传递到群组中的每一个成员。具体的实现过程如下:4.1 读取群组列表名单 当用户进入聊天室模块时,客户端首先发送一个xml语句向服务器发出请求,服务器收到后返回一个xml语句,客户端解析后读出聊天室列表,并进行屏幕显示,供用户选择。发送的xml语句:
    上一篇:在当前网络环境下地方文献的组织管理探索(1) 下一篇:没有了