2。3Android 平台优势
1、开放性
2、丰富的硬件
3、方便开发 4、Google 应用
2。4XMPP 简介
XMPP(Extensible Messaging and Presence Protocol 的首字母缩写)协议是近年来国际开 源组织定制的开源的即时通讯协议。XMPP 的优势在于开放,灵活,实时消息,可扩展性, 并且基于 XML(Extensible Makeup Language)的在线协议。
2。4。1XMPP 协议特点
XMPP 协议有以下特点:
1、扩展性:基于 XML 消息格式,有很好的扩展性
2、开放性:基于 XMPP 公开,在客户端以及服务器等多种实现,程序开发源代码
3、分布式:XMPP 通过 TCP 传输 XML 数据包,任何人都能够通过控制自身的 XMPP 服 务器掌控即时通讯
4、持续性:XMPP 状态在整个网络中持久连接
1 引用自 http://blog。csdn。net/bruce0532/article/details/7896366
本科毕业设计说明书 第 7 页
5、安全性:任何基于 XMPP 实现的服务器都可以避免公众网络的干扰
2。4。2XMPP 网络结构
XMPP 中定义了三个角色:客户端,服务器,网关,可以在这三者中的任何两者之间发 生双向通信。一般常用的方式是客户端通过 TCP/IP 联接到服务器,联接成功之后传送 XML 数据包。XMPP 基本网络结构如图 2。2论文网
图 2。2 XMPP 网络结构
图 2。3 说明了 XMPP 简单的架构,在图 2。3 例子中,所有的用户都在使用相同的域名, 并且只是这个相同域名的一部分。
图 2。3 一台服务器与两个客户端组成的简单 XMPP 架构
服务器还能够在不同域,例如在 discovery。nasa。guv 和 africa。nasa。guv 之间进行路由通 讯。图 2。4 中的示例展示了一个 XMPP 网关通向一个短消息域和一个邮件域,在这种状况下, 网关必须在即时通讯协议之中进行角色转换。
第 8 页 本科毕业设计说明书
图 2。4 包含 XMPP 网关,更为复杂的 XMPP 架构
2。4。3XMPP 消息格式
XMPP 协议主要使用 XML 数据包在不同用户之间互相传送数据,在两个用户的联接期 间,XML 数据包将数据从一个用户传输到另外一个用户。在数据包中,有三个必需的 XML 元素:<message/>,<presence/>和<iq/>。
XMPP 消息不但能够传输最简单的文本,并且能够传递复杂的数据和各类形式的文件, 也就是说 XMPP 不但能够用在人们沟通交流的应用场景,而且还可以使用在软件与人两者互 相交互的应用场景,XMPP 协议的这些功能极大发展了即时通讯的应用领域。2
代码举例如下:
本科毕业设计说明书 第 9 页
图 2。5 XML 消息格式举例
XMPP 的地址格式与邮件地址很相似,从 2。5 图可知,主要差别在于 XMPP 地址包含: 可选节点,用户域,可选资源。举例如下:
图 2。6 XMPP 地址格式
这种格式的地址无论用户在哪儿都可以登录账户。文献综述
2。4。4XMPP 工作机制
图 2。7 展示了两位用户之间简单的对话,可以看到,最少有一个服务器会出现在对话中, 因为这个举例中,两者的客户端都属于相同的域中,所以可以肯定的说,只会存在一个服务 器。在图 2。7 中,左边用户开启彼此之间的 XMPP 通讯,XML 数据包通过 to 类型来辨别 接收域,并且界定 XML 的命名空间,右边的用户接收 XML 数据包并通过另一个 XML 数据 包回应,在此例中,通过 from 类型进行响应。通过这个过程,能够构建多个不同的规定, 比如如何验证加解密消息的流程。 基于Android-App网络安全通信系统的设计与实现(5):http://www.youerw.com/jisuanji/lunwen_90631.html