3 主要模块设计
系统的即时通信采用XMPP 协议,XMPP是基于XML的协议。在系统的即时通信过程中, 通信信息都是以XML 语句进行传输的, 而具体的消息内容则嵌入在XML 元素中。系统主要包括解析、加密、即时通信、图片传输、音乐播放、图片浏览等模块, 各模块设计如下:
( 1) 解析模块。系统采用Android 平台上提供的org . xmlpull. vl 解析包对XML 消息进行解析。XMPP协议中的XML 语句是一种树型结构, 解析XMPP 协议的过程即对树的遍历, 节点的名字就是属性的名字, 节点的值就是属性的值。在解析中, 只对主要消息元素进行解析, 主要解析XMPP 协议的3 个顶层元素 、和所包含的内容以及包含错误信息的元素 。解析完后, 封装, 供应用模块进行调用;
( 2) 加密模块。加密模块对发送和接收的消息进行加解密,以确保通讯数据的安全。该加密机制是分两步完成的,首先将二进制码转换成base64码。在转换成base64 码之后, 再进行加密,加密算法由各网络实体建立会话时通过TLS 协商。
( 3) 即时通信模块。客户端通过GPRS 无线网络采用TCP 协议连接到Openfire 服务器, 通过服务器作为即时通信平台, 实现客户端与客户端之间即时通信。
为了解决T CP 在连接服务器的过程中,等待服务器响应时间过长,易造成程序暂停,系统假死现象。