本发明专利技术公开了一种基于XMPP协议的即时消息服务方法,基于XMPP客户端、XMPP服务器和网关实现,且通信能够在这三者的任意两个之间双向发生;其中服务器用于客户端信息记录、连接管理和信息的路由功能;网关用于与异构即时通信系统的互联互通;网关是基本的网络形式,是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML;即时消息服务的具体过程为:首先将节点连接到服务器;服务器通过本地目录系统中的证书对其认证;节点指定目标地址,让服务器告知目标状态;服务器查找、连接并进行相互认证;节点之间进行交互。该基于XMPP协议的即时消息服务方法与现有技术相比,可有效减低技术门槛和减少开发成本,可扩展性强,实用性强,适用范围广泛,易于推广。
【技术实现步骤摘要】
本专利技术涉及计算机应用
,具体地说是一种实用性强、基于XMPP协议的即时消息服务方法。
技术介绍
即时消息是一种基于互联网应用的实时交互方式,用户可以利用IM软件实现文字、音频和视频等信息的即时传送,以及点对点的数据交换,自1996年世界第一个IM软件ICQ面世以来,经过十多年的迅猛发展,现状IM已经成为了继电子邮件和WEB之后的第三大互联网应用。即时消息主要被人们用于私人之间的日常交流和保持联系,除此之外即时消息被广泛地应用于办公领域,如问题讨论、协商工作日程等。目前,已经出现了不少面向企业应用的即时消息软件,它们为企业人员协同工作,资源管理和客户关系管理带来了便利。而且大多数即时消息软件还集成了更多其他的服务,如文件传输、语音视频服务、新闻订阅服务、网络游戏服务等等,即时消息技术不仅是私人之间的日常交流工具,它也逐渐成为互联网信息平台的重要组成部分。即时消息的发展普及与其自身所具备的特征有着必然的联系,它具有实时性、在线性与文本交互性等特征,满足了人们的日常生活和办公环境中的交流与协助的需要,即时消息设计等到多种技术研究领域,是通信技术和计算机技术融合的结果,因此对即时通信的研究有着重要的应用价值。XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,XMPP协议不受限于操作系统和浏览器差异。即时消息通信使用在如今智能化时代,有着得巨大的应用价值。但是由于用户数据量的增加和租用服务设备价格费用等,采用成熟的XMPP协议完成即时消息通信成为必要,基于此,现提供一种基于XMPP协议的即时消息服务方法。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、基于XMPP协议的即时消息服务方法。一种基于XMPP协议的即时消息服务方法,基于XMPP客户端、XMPP服务器和网关实现,且通信能够在这三者的任意两个之间双向发生;其中服务器用于客户端信息记录、连接管理和信息的路由功能;网关用于与异构即时通信系统的互联互通,异构系统包括SMS短信、MSN、ICQ;网关是基本的网络形式,是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML;即时消息服务的具体过程为:首先将节点连接到服务器;服务器通过本地目录系统中的证书对其认证;节点指定目标地址,让服务器告知目标状态;服务器查找、连接并进行相互认证;节点之间进行交互。XMPP客户端用于实现以下功能:通过TCP套接字与XMPP服务器进行通信,即客户端与服务端通过XML在TCP套接字的5222端口进行通信;解析组织XML信息包;解析消息数据类型。在XMPP客户端设置有通讯模块、解析模块、加密模块、数据模块、应用模块,其中通讯模块负责与服务器建立通讯,并通过创建三个线程来进行处理,分别负责消息的发送、接收和心跳信息的发送;解析模块用来解析XML数据流,根据解析元素不同类型封装成不同的数据对象;数据模块定义整个客户端中的数据类型和对象;应用模块包括即时通信、图片浏览和音乐播放,是客户端和用户交流的接口;加密模块对发送和接收的消息进行加解密,以确保通讯数据的安全。该XMPP客户端安装在移动终端上且连接存储系统,存储系统包括数据库和存储卡,用户信息和聊天信息在客户端存储在移动终端自带的数据库中,多媒体文件和图片文件存储在移动终端的虚拟文件存储设备存储卡中。所述XMPP服务器用于监听客户端连接,并直接与客户端应用程序通信;与其他XMPP服务器通信。所述XMPP服务器包含两个部分服务,一个是监听特定端口上的XMPP服务,负责与客户端的XMPPConnection类进行通信,用于用户注册和身份认证,并发送推送通知消息;另外一部分是Web服务,采用一个轻量级的HTTP服务器,负责接收用户的Web请求。XMPP服务器通过代码设计成模块化,这些代码分别处理Session管理、用户和服务器之间的通信、服务器之间的通信、DNS转换、存储用户的个人信息和朋友名单、保留用户在下线时收到的信息、用户注册、用户的身份和权限认证、根据用户的要求过滤信息和系统记录;设计成的模块化包括以下四个部分:SessionManager,AuthManager,PresenceManager以及NotificationManager,其中SessionManager负责管理客户端与服务器之间的会话,AuthManager负责客户端用户认证管理,PresenceManager负责管理客户端用户的登录状态,NotificationManager负责实现服务器向客户端推送消息功能。本专利技术的一种基于XMPP协议的即时消息服务方法,具有以下优点:1、具有良好的扩展性:在XMPP中,即时消息和到场信息都是基于XML的结构化信息,这些信息以XML节(XMLStanza)的形式在通信实体间交换。XMPP发挥了XML结构化数据的通用传输层的作用,它将出席和上下文敏感信息嵌入到XML结构化数据中,从而使数据以极高的效率传送给最合适的资源,基于XML建立起来的应用具有良好的语义完整性和扩展性。2、分布式的网络架构。XMPP协议都是基于Client/Server架构,但是XMPP协议本身并没有这样的限制。网络的架构和电子邮件十分相似,但没有结合任何特定的网络架构,适用范围非常广泛。3、具有很好的弹性:XMPP除了可用在即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。4、安全性高:本专利技术的XMPP在Client-to-Server通信,和Server-to-Server通信中都使用TLS(TransportLayerSecurity)协议作为通信通道的加密方法,保证通信的安全。任何XMPP服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术更加增强了通信的安全性,实用性强,适用范围广泛,易于推广。附图说明附图1为本专利技术XMPP客户端结构图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。本专利技术的一种基于XMPP协议的即时消息服务方法,不受限于平台或系统,实现消息即时接发服务。本专利技术提供的XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2P客户端到客户端的架构,也就是说在大多数情况下,当两个客户端进行通讯时,他们的消息都是通过服务器传递的(也有例外,例如在两个客户端传输文件时)采用这种架构,主要是为了简化客户端,将大多数工作放在服务器端进行,这样客户端的工作就比较简单,而且,当增加功能时,多数是在服务器端进行。在本专利技术的XMPP中定义了三个角色:XMPP客户端,XMPP服务器和网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录、连接管理和信息的路由功能;网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信)、MSN、ICQ等;基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML,工作原理是:1)节点连接到服务器;2)服务器利用本地目录系统中的证书对其认证;3)节点指定目标地址,让服本文档来自技高网...
【技术保护点】
一种基于XMPP协议的即时消息服务方法,其特征在于,基于XMPP客户端、XMPP服务器和网关实现,且通信能够在这三者的任意两个之间双向发生;其中服务器用于客户端信息记录、连接管理和信息的路由功能;网关用于与异构即时通信系统的互联互通,异构系统包括SMS短信、MSN、ICQ;网关是基本的网络形式,是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML;即时消息服务的具体过程为:首先将节点连接到服务器;服务器通过本地目录系统中的证书对其认证;节点指定目标地址,让服务器告知目标状态;服务器查找、连接并进行相互认证;节点之间进行交互。
【技术特征摘要】
1.一种基于XMPP协议的即时消息服务方法,其特征在于,基于XMPP客户端、XMPP服务器和网关实现,且通信能够在这三者的任意两个之间双向发生;其中服务器用于客户端信息记录、连接管理和信息的路由功能;网关用于与异构即时通信系统的互联互通,异构系统包括SMS短信、MSN、ICQ;网关是基本的网络形式,是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML;即时消息服务的具体过程为:首先将节点连接到服务器;服务器通过本地目录系统中的证书对其认证;节点指定目标地址,让服务器告知目标状态;服务器查找、连接并进行相互认证;节点之间进行交互。2.根据权利要求1所述的一种基于XMPP协议的即时消息服务方法,其特征在于,XMPP客户端用于实现以下功能:通过TCP套接字与XMPP服务器进行通信,即客户端与服务端通过XML在TCP套接字的5222端口进行通信;解析组织XML信息包;解析消息数据类型。3.根据权利要求2所述的一种基于XMPP协议的即时消息服务方法,其特征在于,在XMPP客户端设置有通讯模块、解析模块、加密模块、数据模块、应用模块,其中通讯模块负责与服务器建立通讯,并通过创建三个线程来进行处理,分别负责消息的发送、接收和心跳信息的发送;解析模块用来解析XML数据流,根据解析元素不同类型封装成不同的数据对象;数据模块定义整个客户端中的数据类型和对象;应用模块包括即时通信、图片浏览和音乐播放,是客户端和用户交流的接口;加密模块对发送和接收的消息进行加解密,以确保通讯数据的安全。4.根据权利要求3所述的一种基于XMPP协议的即时消息服务方法,其特征在于,该XMPP客户端安装在移动...
【专利技术属性】
技术研发人员:林俊鸿,王洪添,
申请(专利权)人:山东浪潮云服务信息科技有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。