即时通底层协议技术文档

即时通底层协议技术文档

ID:38236159

大小:353.68 KB

页数:6页

时间:2019-05-27

即时通底层协议技术文档_第1页
即时通底层协议技术文档_第2页
即时通底层协议技术文档_第3页
即时通底层协议技术文档_第4页
即时通底层协议技术文档_第5页
资源描述:

《即时通底层协议技术文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、广东友文信息科技有限公司内部学习资料基于XMPP协议的Android即时通信实例:社交软件聊天工具设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfire服务器作为即时通讯平台。系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkupLanguage)流元素给授权的客户端、服务器等;二是客户终端,它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所

2、提供的全部功能;三是协议网关,完成XMPP协议传输的信息与外部消息系统可识别信息间的翻译;再就是XMPP网络。实现各个服务器、客户端间的连接。系统采用客户端(Client)/服务端(Server)架构体系结构。客户端:客户端基于Android平台进行开发。负责初始化通信过程,进行即时通信时,由客户端负责向服务器发起创建连接请求。系统通过GPRS无线网络与Internet网络建立连接,通过服务器实现与Android客户端的即时通信脚。服务器端:服务器端则采用Openfire作为服务器。允许多个客户端同

3、时登录并且并发的连接到一个服务器上。服务器对每个客户端的连接进行认证,对认证通过的客户端创建会话,客户端与服务器端之间的通信就在该会话的上下文中进行。1.1服务器端设计(这块几乎可以说是有成品了。不用多纠结)androidpn服务器端是java语言实现的,基于openfire开源工程,Web部分采用的是spring框架,这一点与openfire是不同的。Androidpn服务器包含两个部分,一个是监听特定端口上的XMPP服务,负责与客户端的XMPPConnection类进行通信,作用是用户注册和身份

4、认证,并发送推送通知消息。另外一部分是Web服务器,采用一个轻量级的HTTP服务器,负责接收用户的Web请求。主要的四个组成部分,分别是SessionManager,AuthManager,PresenceManager以及NotificationManager。SessionManager负责管理客户端与服务器之间的会话,Auth广东友文信息科技有限公司内部学习资料Manager负责客户端用户认证管理,PresenceManager负责管理客户端用户的登录状态,NotificationManage

5、r负责实现服务器向客户端推送消息功能。系统客户端基于Android手机平台。采用XMPP作为即时通讯协议。XMPP是基于XML,实现任意两个网络终端准实时的交换结构化信息的通信协议。采用Android平台提供的XML解析包对XML进行解析。由于应用活动都运行于主线程。故用多线程技术来解决系统通讯问题。针对通信安全问题.系统的用户信息和聊天信息在客户端存储在Android平台自身所带的SQLite数据库中,多媒体文件和图片文件存储在Android平台虚拟文件存储设备SDCard中。通讯模块负责与服务器

6、建立通讯旧。通过创建3个线程来进行处理。分别负责消息的发送、接收和心跳信息的发送;解析模块主要用来解析XML数据流。根据解析元素不同类型封装成不同的数据对象:数据模块定义整个客户端中大部分的数据类型和对象;应用模块包括即时通信、图片浏览和音乐播放。是客户端和用户交流的接口;加密模块对发送和接收的消息进行加解密。以确保通讯数据的安全。系统的客户端分为5大模块进行设计开发,如图2所示。通讯模块负责与服务器建立通讯旧。通过创建3个线程来进行处理。分别负责消息的发送、接收和心跳信息的发送;解析模块主要用来解

7、析XML数据流。根据解析元素不同类型封装成不同的数据对象:数据模块定义整个客户端中大部分的数据类型和对象;应用模块包括即时通信、图片浏览和音乐播放。是客户端和用户交流的接口;加密模块对发送和接收的消息进行加解密。以确保通讯数据的安全。加密(首先将二进制码转换成BASE64码,在转换成BASE64码之后,再进行MD5加密,)广东友文信息科技有限公司内部学习资料XMPP服务器之间、客户与服务器之间采用的是TCP连接罔。TCP提供一种瓦向连接、可靠的字节流服务。保持一个实时双向的传输通道。TCP将用户数据

8、打包构成报文段。它发送数据后启动一个定时器,等待对端数据确认,另一端对收到的数据进行确认,对失序的数据重新排序,并丢弃重复数据;TCP提供端到端的流量控制。计算和验证一个强制性的端到端检验。但是GPRS网络对TCP链路存在一个限制。当TCP链路在长时间无有数据流量时。会自动降低此链路的优先级直至强制断开此链路。所以在应用中.采用发送心跳的方式来维持此链路。数据格式XML是XMPP系统架构的核心。它能表述几乎任何一种结构化数据。特别是XMPP利用XML数据流进行客户端一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。