




已阅读5页,还剩67页未读, 继续免费阅读
(计算机应用技术专业论文)基于xmpp的企业级即时通信系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着信息技术和i 列络通信技术的发展,即时通信系统的应用也得到了飞速 的发展,比较典蜃! 的有q q 、m s n ,它们的出 现使得在以网络为载体的新世纪出 现了一种全新的交流方式,它极大地提高了人们交流的效率同时降低了交流的 成本,但是现舀:的符个即时通信系统采用了锌自不同的协议,使得不同系统用 户之间无法交流,x m p p ( e x t e n s i b l em e s s a g i n ga n dp r e s e n c ep r o t o c 0 1 ) 协议的出现 解决了这难题。 j a b b e r x m p p 是一个由开源组织制定的、桀j 二x m l 语言的协议,其丌放特 性使丌发者之f 【| ju r 以叵卡l 竞争,促进了即时通信领域技术的进步与发展,同时 改变了以往的即时通信系统之间无法互联的状7 兑。由于j a b b e r x m p p 系统采用 了分布式的结构和模块化的系统架构,因此很容易对系统的功能进行扩展。讵 是基于以上优点,基于x m p p 协议的即时通信系统成为企业信息化过程中必不 可少的一部分。 论文包括以下主要内容: 1 介绍了x m p p 协议的相关知识,并列出该协议的详细流程。 2 详细分析了该企、l 匕级即时通信系统系统需求,根据系统的设计原则和功 能目标进行总体架构,给出了系统的总体设计和功能模块的划分。 3 根据系统的设计原则,结合开源的协议包s m a c k ,实现了该系统需求中 要求实现的功能。 论文的重点之处在j :通过开源协议的实现,构建出适合中国国情的食业级 即时通信系统架构,并将其运用于实践中。实践表明,该整合框架功能强大、 耦合度低,增强了系统的可维护性和可扩展性,达到了即时通信系统的设计目 标。 关键字:x m p p ,s m a c k ,企业级,x m l ,即时通信系统 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o na n dn e t w o r kc o m m u n i c a t i o nt e c h n o l o g y , i n s t a n tm e s s a g i n gs y s t e m sh a v ea l s od e v e l o p e dr a p i d l y ,s u c ha sq q ,m s n ,t h e e m e r g e n c eo fi n s t a n tm e s s a g i n gs y s t e m s c r e a t e dan e we x c h a n g em e t h o di nt h en e w c e n t u r yw h i c hw a so nt h e c a r t i e ro fn e t w o r k t h ei n s t a n tm e s s a g i n gs y s t e m s i m p r o v e dt h ee f f i c i e n c ya n dr e d u c e dt h ec o s tg r e a t l yw h e np e o p l ec o m m u n i c a t e w i t h e a c ho t h e r b u tt h ev a r i o u si n s t a n tm e s s a g i n gs y s t e m sw e r eb a s e do nd i f f e r e n t p r o t o c o l s ,s ot h a tt h eu s e r sc o u l dn o t c o m m u n i c a t ew i t h e a c ho t h e rb yi n s t a n t m e s s a g i n gs y s t e m s ,t h i sp r o b l e mw a ss o l v e db yx m p p ( e x t e n s i b l em e s s a g i n ga n d p r e s e n c ep r o t o c 0 1 ) j a b b e r x m p pw h i c hw a sb a s e do nx m lw a sd e v e l o p e db ya no p e ns o u r c e o r g a n i z a t i o n t h ee m e r g e n c e o fj a b b e r x m p pl e a d e dt ot h ep u b l i cc o m p e t i t i o n b e t w e e nd e v e l o p e r sa n dp r o m o t e dt h ed e v e l o p m e n ti nt h ef i e l do fi n s t a n tm e s s a g i n g t e c h n o l o g y i t a l s oc h a n g e dt h es i t u a t i o nt h a ti n s t a n tm e s s a g i n gs y s t e m sc a n t c o m m u n i c a t ew i t he a c ho t h e r i tw a se a s yt oe x t e n dt h ef u n c t i o n so fj a b b e r x m p p s v s t e m s ,b e c a u s ej a b b e r x m p ps y s t e m sw e r eb a s e do nad i s t r i b u t e da r c h i t e c t u r ea n d m o d u l a rs y s t e ma r c h i t e c t u r e b e c a u s eo ft h e s ea d v a n t a g e s ,t h ei n s t a n tm e s s a g i n g s y s t e mb a s e do nx m p p f o re n t e r p r i s eb e c a m ea ne s s e n t i a lp a r to ft h ee n t e r p r i s e s t h et h e s i si n c l u d e st h ef o l l o w i n gc o n t e n t : 1 as u m m a r ya b o u tt h er e l e v a n tk n o w l e d g eo fx m p pa n dt h ed e t a i lp r o c e s so f x m p p 2 t h et h e s i sa n a l y z e dt h er e q u i r e m e n t so ft h ee n t e r p r i s e c l a s si n s t a n tm e s s a g i n g s y s t e m ,g a v et h eo v e r a l ld e s i g no ft h es y s t e ma n dt h ed e l i n e a t i o no f f u n c t i o n a l m o d u l e si na c c o r d a n c ew i t ht h ep r i n c i p l e so fs y s t e ma n df u n c t i o nd e s i g n 3 r e a l i z e dt h ef u n c t i o n st h a tw e r ed e m a n d e db yt h es y s t e m st h r o u g hc o m b i n i n g w i t ho p e n s o u r c ep a c k a g eo fp r o t o c o li na c c o r d a n c ew i t ht h ep r i n c i p l e so fs y s t e m d e s i g n t h et h e s i sf o c u s e do nb u i l d i n ge n t e r p r i s e - c l a s s i n s t a n tm e s s a g i n gs y s t e m s a r c h i t e c t u r ew h i c hw a ss u i t a b l ef o rc h i n a sn a t i o n a lc o n d i t i o nb yr e a l i z i n go p e n u s o u r c ep r o t o c 0 1 p r a c t i c e sp r o v e dt h a tt h ef r a m e w o r ko ft h ei n t e g r a t i o nw a sp o w e r f u l a n d l o wc o u p l i n g t h ef r a m e w o r ko ft h ei n t e g r a t i o ne n h a n c e dt h e s y s t e m s m a i n t a i n a b i l i t ya n ds c a l a b i l i t y ,w h i c ha c h i e v e dt h eg o a l so f i n s t a n tm e s s a g i n gs y s t e m k e y w o r d s :x m p p ,s m a c k ,e n t e r p r i s e c l a s s ,x m l ,i n s t a n tm e s s a g i n gs y s t e m s i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示了谢意。 躲衅日期芈 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后遵守此规定) 一虢雠翩虢数期毕 武汉理l :人。颂卜学f 论上 1 1 选题背景 第1 章绪论 随着信息j 乏术以及网络技术的发展,人们l :hf 1 j 之i 日j 交流的手段越来越多, 而其中最霞要的转变应该是即时通信系统的:土j 现,短短的二十年间即时通信系 统的功能越水越强大,用户越来越多,极大地方便了人与人之间的交流。 即时通信系统( i m ,i n s t a n ti n f o r m a t i o ns y s t e m ) 实现了利用现代计算机网 络通信技术进 j :信息交互,使人与人之问、企业与企业之间的交互变得方便而 高效。由于即时通信系统的众多优势,现在市面上出现了许多种即时通信系统, 在这些i m 软f ,i 给我们的生活带来方便的同时,也m 现了新的问题,也就是这些 i m 各自遵循小同的协议,从而导致这些系统之i 日j 不能互联互通,j a b b e r x m p p 协议的出现解决了这一难题【1 j i :2 】。 j a b b e r x m p p 是一个由开源组织制定的、基于x m l 语言的协议,其开放特 性使开发者之m 可以互相竞争,促进了即时通信领域技术的进步与发展,同时 改变了以i 手的即时通信系统之l 日j 无法互联的状况。由于j a b b e r x m p p 采用了分 布式的结构,梭块化可扩展的系统架构使得扩展它的功能变得简单【3j 。 随着企业信息化建设的发展,即时通信系统逐步融入企业之中,因为相对 于传统的通信- 段( 电话、邮件) 来讲,即时通信系统以网络为载体,具有成本低, 效率高等优点,使人们摆脱了复杂费时的电话和枯燥无味的邮件,将即时消息、 文件传输、语卉通信和视频通信等功能成功的集成于即时通信系统中,从而满 足了不同工种和不同任务的需要,为现代企业提供了一种全新的办公平台【4 1 i 引。 1 2 国内外发展现状 即时通信是一种基于互联网应用的实时交互方式。网络上的用户可以利用 i m 软件实现文字、音频和视频等信息的即时传送,以及点对点的数据交换。在 信息时代的背景下,i m 一经推出迅速风靡全球,它极大地方便了人与人之问的 沟通。 武汉理j :人学硕+ 学位论文 上世纪九十年代中期,四位以色列人丌发出世界上第一个即时通信软件 i c q ,随后便出现各种各样的即时通信软件,如雅虎公司与微软公司分别推出 y a h o o ! m e s s e n g e r 和m s nm e s s e n g e r ,其中1 9 9 9 年2 月腾讯公司推出的o i c q 获得成功( o i c q 在2 0 0 0 年正式改为q q ) ,是目前国内拥有用户数量最多的即 时通信系统。较为流行的蹦软件还有阿罩旺旺、网易泡泡、g t a l k 等1 6 1 l 。 即时通信系统是计算机技术发展的产物,系统的开发涉及到多项技术的融 合,因此即时通信系统是一个复杂的系统工程,即时通信的出现是基于旺联网 通信方式的一次重大变革,对即时通信的研究有着重要的应用价值。目时即时 通信系统软件的开发没有统一的协议标准,大部分公司都是自己开发通信协议 或者在开源的协议基础上进行修改,这就造成了腾讯公司家独大的局面,不 利于即时通信系统的发展,同时也给广大的用户使用带来不便,而x m p p 协议 的出现解决了这一难题,使得大量的i m 有了一个可靠的高效的开放协议,有利 于实现各种i m 的资源整合,因此致力于基于x m p p 协议的即时通信系统研究, 开发出适合中国国情的中小型企业即时通信系统具有重要的意义【8 】【9 1 。 近年来,随着x m l 技术的同趋完善及广泛应用,基于x m l 语言的通信协 议已经成为主流,强烈的冲击着传统的通信协议。因为采用基于x m l 语言的通 信协议,使系统的开发摆脱了语言的束缚,使协议和程序开发语言完全脱离, 同时也使客户端和服务器脱离,人们可以根据自己的喜好选择开发所用的语言。 简化了应月】程序的丌发,降低了各个模块的耦合度,这些技术为即时通信系统 的开发提供完善的框架,成功地解决了即时通信系统开发中出现的许多问题。 1 3 课题研究意义 随着i n t e r n e t 的普及和网络技术的发展,通过互联网进行实时信息的传输 成为当今研究的技术热点,也是各大企、i 业新时期的价值增长点,因为同传统的 交流方式相比,即时通讯具有价格低廉,用户体验更加舒服的优势,这将改变 人们的行为方式、提高工作效率,具有早程碑的意义,因而这就决定了实时通 信系统将拥有大量的用户群,并将带来巨大的经济利益。于是各大运营商丌发 了各种各样的软件,各种软件所遵守的通信协议各不相同,这就导致不同的实 时通信软件之间无法通信,这就限制了实时通信软件的普及也给人们的使用带 来不便,x m p p 协议的出现使即时通信领域有了统一的标准,该协议的出现将打 2 武汉理一l :人学硕: 学位论文 破个别软仆的垄断,实现不同软件间的互联互通,使人们的使用更加方便【mj 【1 1 1 。 本文 j j f 究的主要内容有:1 j a b b e r x m p p 技术是丌源的和可扩展的并能使现 有的即时通信应用系统之间实现互连互通。2 x m p p 提供了不同系统间通信x m l 数据流处婵技术,使系统的开发摆脱了程序语言的束缚,能为多网络i 日j 连接提 供安全和埸于实现的编程语言环境。3 x m p p 提高了一套高效的数据路由机制。 4 x m p p 提高实时信息处理的效率和文件传输的效率,同时实现了同s o c k s 5 协议的集j 戊。 1 4 课题研究内容及论文组织结构 课题e 要研究内容包括以下几个方面: 1 对现有即时通信系统开发技术j a v ae e 、x m p p 协议、s a s l 协议、x m l 语言等进行分析和研究。 2 详细分析即时通信系统的需求并设计该系统。 3 提m 基于x m p p 协议的实现方案,通过i a v a 语言实现协议中规范的相关 功能。 论文的组织结构如下: 第1 卷绪论。绪论部分简要介绍了即时通信系统的发展现状,以及该系统 的实现对食业信息化建设的重大实践意义。 第2 錾基于x m p p 协议的即时通信系统相关技术。本章从c s 模式的分布 式体系结构分析丌始,介绍了即时通信系统实现的各种协议,以及x m p p 协议 的实现的找体x m l 语言在这一协议中的应f j 。 第3 錾系统的总体设计和服务器端的实现。本章具体介绍了x m p p 协议在 即时通信系统服务器端的实现,介绍了服务器端的工作原理,并对数据库做了 详细设计,并对支持文件传输的s o c k s 5 协议进行了集成。 第4 章即时通信系统客户端的实现。本章具体介绍了x m p p 协议在即时通 信系统客户端的实现,介绍了客户端的工作原理。 第5 章系统的测试。从分层的角度对系统进行测试,以确保系统的可靠性 和j 下确性。 第6 章总结与展望。本章对论文的主要工作进行总结,并指出了下一步研 究工作的重点,展望了未来即时通信系统发展方向。 武汉理j i i 人学硕f 学f 节论文 第2 章基于x m p p 协议的即时通信系统相关技术 2 1c s 模式的体系结构 传统的应用系统开发普遍采用c s ( c l i e n t s e r v e r ,客户端月艮务器端) 两层体 系结构,其中客户端负责向用户提供操作7 7 - 嘶,接受用户输入数据信息,通过 请求( r e q u e s t ) 向服务器端发送数据,接受暇务器端的响应( r e s p o n s e ) ,并将 响应结果向用户显示。服务器端主要负责破动接受客户端的请求,接受数掘并 进行响应的逻辑处理,以及数据持久化工f 1 ,并发送响应,将处理结果返旧给 客户端。这种c s 两层体系结构是一种通j t j 的,基于消息的模块化结构,其结 构比较简单。 2 1 1x m l 的特点和优势 可扩展标记语言( x m l ) 是w e b 上的数掘通用语言,它使开发人员能够将 结构化的数据从不同的应用程序传递到桌嘶,进行本地解析和封装,x m l 允许 为特定j 电用程序创建特定的数据格式,它足在服务器之间传输数据的理想格式 【l 引。x m p p 协议采用x m l 作为传输的数扒格式,使得x m p p 协议实现了跨平 台,x m l 主要具有以下几个特点:l 、x m l 是一个精简的s g m l ,它将s g m l 的丰富功能与h t m l 的易用性结合到w e b 随用中,它保留了s g m l 的可扩展 功能,这使得x m l 从根本上有区别于h t m l ,并且x m l 种还包括可扩展格式 语言x s l ( e x t e n s i b l es t y l el a n g u a g e ) 和可扩l 畏链接语言x l l ( e x t e n s i b l el i n k i n g l a n g u a g e ) 使得x m l 的显示和解析更加方便快捷;2 、x m l 是w 3 c 正式批准的, 它完全可用于w e b 和工具的开发,x m l 具仃标准的域名说明方法,支持文档对 象模型标准、可扩展类型语言标准、可扩展链接语言标准和x m l 指针语言标准。 使用x m l 可以在不同的计算机系统l 、日交换信息,而且还可以跨越国界和超越不 同文化疆界交换信息:3 、x m l 支持复用文档片断,使用者可以发明和使用自己 的标签,也可以与他人共享,可延伸性大,在x m l 中,可定义一组无限量的标 准,可以有效地进行x m l 文件的扩充1 1 3 】1 1 4 i 。 4 武汉理t 大学硕士学位论文 2 2x m p p 协议基础 2 2 1x m p p 协议简介 x m p p 协议采用的是客户端服务器架构,所有从一个客户端发到另一个客 户端的消息和数据都必须经过x m p p 服务器转发,而且还支持服务器问d n s 的 路由,这也就使构建服务器集群成为可能,使不同服务器下的客户端也可以通 信,x m p p 的前身是j a b b e r ,一个开源组织制定的网络即时通信协议【14 1 。 对于x m p p 协议来说,由于其核心是采用x m l 流传输协议定义的,从而使 得x m p p 协议能够应用在一个比其它网络通信协议更高效更规范的基础一卜。 x m p p 协议的核心就是在网络上分片断发送x m l 流的协议。这个流协议是 x m p p 的即时通讯指令的传递手段,也是一个非常重要的可以被进一步利刚的网 络基础协议。所以可以说,x m p p 就是在t c p 连接上传输x m l 流f 1 5 j 。借助于 x m l 易于解析和阅渎的特性,使得x m p p 的协议的实用性更强,适用面更广1 1 6 j , x m l 流传输的足与即时通讯相关的信息。在此之前的各种通信协议中,这些信 息要么用二进制的形式发送,要么用纯文本指令加空格加参数加换行符的方式 发送。而x m p p 传输的即时通讯信息和过去的类似,只是协议的形式变成了x m l 格式的形式【1 7j 。这不但使得解析变得容易了,人们阅读起来也变得容易了,同 时方便了开发和查错,但是同时由于大量的信息重复,虽然确保了信息的完整, 但网络传输的效率变低,这是x m p p 的不足之处。 2 2 2x m p p 协议簇 x y l p t ) s a s l t l s t c p 图2 1x m p p 协议簇 为了防止服务器问发送的数据被篡改或偷听,服务器通信引入了t l s 机制, 使用t l s 能实现数据加密,从而保证了在传输过程中数据的安全,该协议山两 武汉理1 :人硕十。f 妒论文 层纠成:t l 。si l j 丈f j j 、汶( t l sr e c o r d ) 和t l s 握下协议( t l sh a n d s h a k e ) 。较 低的层为t l si l 二丧坍议,位于某个可谨的f 专输协议( 例如t c p ) 上面。其协 议各jj 电用中的! 呼7 , j :t c p t l s s a s l x m p p ,t c p 是传输控制协议,t l s 是1 之输层安今= m 议,s a s l 是简单认证和安令层阱议,以上所列协议根据各自不 同的功能,舀:系统。火现中处于不同的层级f 博i i 阳i 。 基本i m 协i 文f l l :定义了基本的即时通信系统所应该支持的协议组,不f r 司的 协议代表了不f f d 的j 力能,这些功能的扩展是基fx m p p 协议良好的扩展性能的, 任何一项功能的扩j 陡鄙有其固定的规范,这止电足在协议中规定好的,如表2 一l 所 示1 2 0 1 1 2 1 : 表2 1 基本i m 协议组 协议脱范需求级别 x m p p 核,亡、协。议必需实现的 x m p pi m 伪、议 必需实现的 服务发现阱议必需实现的 带内泣删协议推荐实现的 非s a s l 认i j j 协议对服务器端推荐实现的;对客户端不推荐实现 出错条f , f 映射推荐实现的 实体能力协议对客户端必需实现的 中级i m 协议组:定义了系统中级应用所应该支持的协议组,就是在基本的 通信系统中添加了多用户聊天,文件传输等功能,如表2 2 所示: 表2 1 中级i m 协议组 协议规范需求级别 基本i m 协议组协议必需实现的 多j f j 户聊天协议必需实现的 x h t m l i m 协议必需实现的 文件传输协议必需实现的 实体能力协议必需实现的 须注意的是,表2 2 中的协议仅应川于客户端( 也即,它们并对服务器引入 新的要求) 。另外,这些协议有各自依赖的协议1 2 3 1 1 2 4 l 2 2 3 地址空间 一个实体可以是任何一个被认为是一个网络端点,而且它是通过x m p p 协 议进行相互问通信的。这些实体都有一个具有唯一性的地址,并符合规范要求 6 武汉理j 二人学硕士学何论文 的格式,一个x m p p 实体的地址被称为j a b b e ri d e n t i f i e r 或j i d ,其作川类似 于地址。一个合法的j i d 包括一组排列好的元素,包括域名,节点名,和资 源名,其格式为:j i d = n o d e ” ” d o m a i n ”r e s o u r c e 【2 6 】 域名( d o m a i ni d e n t i f i e r ) 是一个主要的元素并且是j i d 中唯一必需的元素, 一个纯粹的域名或i p 地址也是一个合法的j i d ,它通常代表网络的网关或者主 服务器,其它实体通过连接它来实现x m l 转发和数据管理功能【2 6 1 。 节点名( n o d ei d e n t i f i e r ) 是一个可选的第二元素,放在域名之前并用符l p ” 分开。它通常表示一个向服务器或网关请求和使用网络服务的实体( 比如个客 户端) ,当然它也能够表示其他的实体( 比如在多用户聊天系统中的一个房f i j j ) 。 节点名所代表的实体,依赖于一个特定的域名【2 6 i 。 资源名( r e s o u r c ei d e n t i f i e r ) 是一个可选的第三元素,它放在域名的后面并 由符号”分开。资源名可以跟在 后面也可以跟在 后 面。它通常表示一个特定的会话,连接或者一个附属于某个实体的对象,比如 多用户聊天室中的一个参加者。对于服务器和和其他客户端来说,资源名是不 透明的【2 6 j 。 所有j i d 都是基于上述的结构。类似 这种结构,最 常用来标识一个即时消息用户,这个用户所连接的服务器,以及这个用户用于 连接的资源( 比如某一类型的客户端软件,q q 、m s n 等等) 。 2 2 4x m p p 协议的命名空间 i a b b e r :i q :p r i v a t e 一私有数据存储,用于本地用,、私人设置信息,比如用户备注等 j a b b e r :i q :c o n f e r e n e e - - - - - 般会议,用于多个用户之l h j 的信息共享 j a b b e r :x :e n c r y p t e d - - ) j 1 密的消息,用于发送加密信息 i a b b e r :x :e x p i r e - - - 消息终止 i a b b e r :i q :t i m e - - - 客户端时间 j a b b e r :i q :a u t h - - 简单用户认证,般用于服务器之问或者服务器和客户端的认证 i a b b e r :x :r o s t e r - - - 内部的花名册条目 j a b b e r :x :s i g n e d - - 标记的在线状态 j a b b e r :i q :s e a r c h - - 用户数据库查询,用于向服务器端发送查询请求 j a b b e r :i q :r e g i s t e r - - - 注册请求,用于用户注册相关信息。 j a b b e r :i q :r o s t e r - - - 花名册( 好友名单) 管理,用于企业的部门设置或者是用户组设置 j a b b e r :x :c o n f e r e n c e - - - 会议邀请,用于向参加会议用户发送开会通知 i a b b e r :x :e v e n t - - 消息事件 v c a r d t e m r 临时的v c a r d ,用于设置用户的头像以及昵称等信息【2 6 】 7 武汉理| j 大学硕十学位论文 2 2 5x m p p 协议消息格式定义 即时通信系统的各个实体之间的通信是以x m l 节和x m l 流的形式出现的, 不仅可以进行简单的文本交流,也可以携带各种复杂的数据和文件,这一特性 决定了基于x m p p 协议的即时通信系统的客户端和服务器端摆脱了语言的限制, 只需要能对x m l 语言进行解析就可以了。 x m l 流的定义:一个x m l 流是一个类似于容器的流,其中包含了两个实 体之间通过网络发送的x m l 元素。一个x m l 流是由一个x m l 打开标签 开始,流的结尾则是以一个x m l 关闭标签 结束。在流的丌 始到结束之问,初始化它的实体可以通过流发送大量的x m l 元素,用于流的交 互和通信,最终整个x m l 流是一个符合x m l 规范的x m l 文本【2 5 】。 x m l 节的定义:一个x m l 节是一个x m p p 实体通过x m l 流向另一个 x m p p 实体发送的x m l 报文中的一个节点。一个x m l 节存在于根元素 的下层,任何x m l 节都是从一个x m l 流的下一级的一个打开标签开始,到对 应的关闭标签,每个x m l 节代表了不同的信息实现了不同的功能。在这里定义 的x m l 节仅限于 , 矛1 元素。 x m p p 协议包括3 个顶层x m l 元素b 6 1 此元素用于确定用户的订阅状态,可以查询、询问好友的在线状念, 同时也可以发布自己的在线状态 如下所示: f r o m = c h e n w u 19 2 16 8 0 5 m s n t o = w a n g j u n 19 2 16 8 0 5 m s l l t y p e = p r o b e 元素可以取下面几种值【2 7 】【2 8 】: p r o b e :用于服务器向客户端查询订阅状态,相当于一个“探针” s u b s c r i b e :请求订阅别人,即请求加对方为好友 s u b s c r i b e d :同意被别人订阅,也就是确认被对方加为好友 u n s u b s c f i b e :取消订阅别人,请求删除某好友 u n s u b s c r i b e d :拒绝被别人订阅,即拒绝对方的添加请求 :用于在两个x m p p 用户之间发送信息,其中包含的元素规定了消息 的源节点、目的节点、发送的形式和信息的内容,如果用户在线服务器立即转 武汉珊i :人学硕r 7 :f 一论文 发;否则服务器就存储。 t o :标识消息的接收方,一般用j i d 标示 f r o m :指发送方的名字或标示( i d ) ,一般用j i d = ,j 、,j :。 t e x t :此元素包含了要提交给目标用户的信息,址纯文本信息。 t y p e :是发送的消息的类型( 群发或单发) ,如果怂“g r o u p c h a t ”则“t o ”属性中 只能添服务器的j i d ( 多用户聊天中用到这种类1 f ! ) ,意味着是群发给日的服务器 下的所有用户。如果是“c h a t ”则“t o ”属性可以j 划j 务器也可以填客尸| 端的j i d , 表示只同某一个用户聊天。 结构如下所示: 你好,在忙吗 此元素管理x m p p 服务器上任何两个用,- i 日j 的转换,允许他们通过相应的 x m l 格式的查询和响应,比如:查询用户的用户名、密码等信息,设置自己的 用户名和密码等 主要的属性是t y p e 。包括: g e t :获取当前域值。 s e t :设置或替换g e t 查询的值。 r e s u l t :说明成功的l 蛔应了先前的查询。 e r r o r :查询和响应中出现的错误。 结构如下所示: 2 3x m p p 核心协议 2 3 1 用户注册流程 步骤1 :客户端向服务器发送注册请求,i a b b e r :i q :r e g i s t e r 命名空阳j 标示了这 一x m l 节的作用,是服务器端确定其功能模块的依据。 步骤2 :服务器向客户端返回需注册的字段:用户名、密码和邮箱地址,表 9 武汉理下大学硕士学位论文 示服务器端需要了解用户的上述信息。 c h o o s eau s e r n a m ea n dp a s s w o r df o ru s ew i t ht h i ss e r v i c e p l e a s ea l s op r o v i d ey o u re m a i la d d r e s s 步骤3 :客户端向服务器发送注册字段对应的值,客户端输入相关信息后, 确认发送往服务器端,服务器端接收后会做相应的处理。 w a n g j u n 12 3 4 5 6 w a n g j u n 16 3 c o m 步骤4 :服务器返回注册成功信息,注册成功后,服务器返回成功信息,以 便用户知道注册成功f 3 0 】f 3 l 】。 2 3 2 用户登录流程 步骤1 :客户端初始化流给服务器,以便能得到服务器的应答,从而确认咳 服务器是否可用。 步骤2 :服务器返回一个流标签给客户端作为应答,以表示目的服务器可用。 1 0 汉理l :人学硕士学位论文 步骤3 :目的服务器发送s t a r t t l s 节给客户端,该节中包括验证机制、 加密机制和其他流特件。 d i g e s t m d 5 p l a i n 步骤4 :客户端发送s t a r t t l s 节给目的服务器,表示客户端支持t l s 协 议。 步骤5 :目的服务器通知客户端可以继续进行三次握手协议。 步骤5 ( 或者) :服务器通知客户端t l s 握手失败并关闭流和t c p 连接。 武汉理上人学硕士学位论文 步骤6 :客户端和服务器尝试通过已有的t c p 连接完成t l s 握手。 步骤7 :如果t l s 握手成功,客户端发送个新的流给服务器。 步骤7 ( 或者) :如果t l s 握手不成功,服务器天闭t c p 连接。 步骤8 :服务器发送一个流头信息应答客户端,表示开始另一协议,其中包 括任何可用的流特性。 d i g e s m d 5 p l a l n e x t e r n a l 步骤9 :客户必须选择一种认证机制。如果服务器不支持该机制,将响应 一个失败通知。 步骤1 0 :客户初始化一个新的流。 步骤1 1 :服务器回复一个被认证的流。 步骤1 2 :旦客户认证成功,客户请求打开一个即时通信的会话。 步骤1 3 :服务器通知客户创建会话成功或失败【3 4 1 。 1 2 武汉理jl = 人学硕士学位论文 2 3 3 获取好友在线信息流程 步骤1 、用户的本地服务器代替用户发送在线信息调查“探针 给,本地花 名册中s u b s c r i p t i o n = ”t o ”和s u b s c r i p t i o n = ”b o t h ”的联系人的可用资源。 步骤2 、联系人的服务器在接收到调查“探针”后,代替所有可用的资源应 答在线信息调查。 a w a y b ef i g h tb a c k o 1 d n d g a ll i v a n t i n g 2 3 4 添加好友的流程 步骤l :客户端向本地服务器名册中添加新的条目,其中i t e m 中包含了好 友的j i d ,用户名和将其加入的群组。 m y b u d d i e s 步骤2 :服务器为这个新的名册条目初始化一个新的彩:| f 发送给这个用户的 所有已经请求名册的可用资源,其s u b s c r i p t i o n 属性的f | l 工j , j ”n o n e ”; 并且以一 个i qr e s u l t 应答发送的资源表明名册设置成功了。 m y b u d d i e s m y b u d d i e s 步骤3 :用户向这个联系人请求在线信息的订阅,用,、的客户端必须发送一 个类型为s u b s c r i b e 的在线信息节给联系人。 步骤4 :用户的服务器初始化第二个新的名册发送给这个用户的所有已经请 求名册的可用资源,把这个联系人设置成n o n e 订阅状态的朱决的状态;这个未 决的状态是由名册条目中包含的a s k - - - s u b s c r i b e 属性所指示的。 m y b u d d i e s q u e r ) m y b u d d i e s 步骤5 - 用户的服务器向联系人服务器转发订阅在线状态的请求。 步骤6 :联系人的服务器向联系人的客户端转发订阅在线状态的请求。 步骤7 :联系人的客户端添加一个条目并返回同意订阅在线状态的消息。 s o m e g r o u p 步骤8 :联系人的服务器初始化一个名册发送给所有联系人己请求名册的可 用资源,包含一个关于那个用户的名册条目,并且其订阅状态为t f r o m - ( 甚至联系 武
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司自制销售管理制度
- 河南省郑州市中牟县2024~2025学年 高二下册3月月考数学试卷附解析
- 广东省汕尾市2024~2025学年 高二下册第一次(3月)月考数学试卷附解析
- 2024年宁波市宁海县机关事业单位招聘真题
- 身份验证漏洞基础知识点归纳
- 西宁市口腔医院招聘笔试真题2024
- 杭州市公安局滨江区分局招聘警务辅助人员笔试真题2024
- 深圳市福田区区属公办中小学招聘教师笔试真题2024
- 历史服饰风格角色设计师基础知识点归纳
- 2025年江苏省生物初赛试题
- MOOC 软件工程与实践导论-四川大学 中国大学慕课答案
- 难燃型改性聚乙烯保温隔声卷材建筑楼面工程应用技术标准
- 品质标杆工厂规划方案
- 厦门大学2021年826物理化学考研真题
- 管培生轮岗总结汇报
- 传统戏曲表演的台湾音乐伴奏与表演技术
- 《三体》科幻小说
- 康复科护理的患者安全和风险管理
- 2024年A证(安全员)作业模拟考试题库全套
- 增强患者口服药执行率
- 国开《Windows网络操作系统管理》形考任务4-配置故障转移群集服务实训
评论
0/150
提交评论