基于Android平台的即时通讯系统的设计与实现
基于Android平台的即时通信系统设计与实现

式 服 务器端 采 用当今 流行 的开 源服 务器O p e n i f r e 和 开源数 据 库My S Q L 构建 。 O p e n i f r e 服 务器 负责 处理 客户 端软 件发 送 的身份 验证 请求 、 连接请 求 、 数 据交 换等, 配 合My S QL 的 数据 存储 功 能 , 实现X MP P 协 议客 户端 软件 的 即时通 讯 。
基于 An d r o i d平 台的 即时通信 系统设 计 与实 现
陈育 斌
( 同济 大学 软 件学 院 上海 2 0 1 8 0 4 )
[ 摘 要] 目前主 流 的I M协议 有 四种 , 包括: 可 扩展 消 息与存 在 协议 ( X MP P ) 、 空 间和 即时 信息 协议 ( P R I M) 、 即时信 息 和空 间协 议( I MP P ) 、 针对 即时信 息 和 出 席扩展 的会 话发 起协i RS I P ( S I MP L E ) 。 在 这 四种 主流 协议 中 , XMP P 协议 具有很 好 的灵活性 和扩展 陛。 由于 X MP P 协议 是高 度 自由 、 高 度开放 的协 议 , 易于 掌握 和理 解, 而且 在服务 器 、 客户 端 、 插件 、 源代 码库 等方面 , 有 多种 实现 。 任何 遵循 X MP P 协议 的软件 , 可以实 现相互 通讯 。 加 之G o o g l e 公 司开发 的G 件 也是基 于X MP P 协议 的及 时通讯 软件 , 同时很 多软件 巨头 也对 X MP P 协议 进行 支持 , 促 进 了X MP P 协议 的推 广和 普及 。 因此 , 研究XMP P 协议及 基于 此 的即 时通讯软 件 的设计 与 实
涪 牲和扩 展性 。 由于 X MP P 协议 是高 度 自 由、 高 度开 放 的协 议 , 易 于掌 握和 理 解, 而且 在 服 务器 、 客 户端 、 插件 、 源 代 码 库等 方 面 , 有多种实现。 任 何 遵 循
基于Android平台端到端即时通信系统的分析与设计

服务器端主要负责消息的存储、转发和管理。服务器端可以采用Java或其他 语言编写,使用Socket进行消息的接收和发送。当服务器端收到客户端发送的消 息时,需要根据消息的类型将其存储到数据库或内存中,并转发给其他客户端。 同时,还需要对消息进行管理和维护,保证系统的稳定性和安全性。
4、数据库设计
总之,基于Android平台的即时通信系统的设计与实现需要结合具体的业务 需求和技术特点进行详细规划和设计。从系统架构、客户端、服务器端到数据库 设计都需要进行全面的考虑和规划,以确保系统的稳定性和安全性。还需要不断 优化系统的性能和用户体验,以满足用户日益增长的需求。
一、Android平台多媒体通信技 术
基于Android平台端到端即时通信 系统的分析与设计
基本内容
随着移动互联网的迅速发展和智能手机的广泛普及,人们对于即时通信 (Instant Messaging,IM)的需求越来越高。在众多移动操作系统中, Android因其开放性和灵活性而受到广大开发者的青睐。本次演示将分析并设计 一个基于Android平台的端到端即时通信系统。
基于Android平台的端到端即时通信系统的分析与设计是一个涉及多领域的 复杂任务。在本次演示中,我们首先分析了系统的需求,然后设计了系统的架构 和数据库,最后讨论了实现技术和测试部署。通过这个过程,我们成功地构建了 一个高效、稳定、安全的即时通信系统。然而,随着移动互联网的发展和用户需 求的不断变化,我们还需要不断地优化和改进这个系统以适应未来的挑战。
3、即时通信服务器:负责处理客户端之间的实时通信请求,可采用 WebSocket或其他实时通信协议。
4、文件服务器:存储用户上传 的图片、视频等多媒体文件。
数据库设计主要考虑如何有效地存储和管理用户信息、好友关系、消息记录 等数据。我们使用关系型数据库(如MySQL)来储存这些数据,并设计合理的表 结构以满足查询、更新和删除等操作的需求。
基于Android的即时通讯软件的设计与实现(二次修改)

毕业设计(论文)基于Android的即时通讯软件设计和实现专业年级计算机科学与技术09级学号 0906010401姓名李艳指导教师娄渊胜评阅人2013年6月中国南京河海大学本科毕业设计(论文)任务书Ⅰ、毕业设计(论文)题目:基于Android的即时通讯软件设计和实现Ⅱ、毕业设计(论文)工作内容(从综合运用知识、研究方案的设计、研究方法和手段的运用、应用文献资料、数据分析处理、图纸质量、技术或观点创新等方面详细说明):Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑,而即时通讯(Instant Messaging)是目前Internet 上最为普遍的通讯方式之一。
随着智能手机的不断流行,基于Android的软件也越来越多。
本次论文的题目是基于Android的即时通讯软件设计和实现。
首先,需要了解Android系统知识,包括Android系统框架、应用程序的生命周期和应用组件以及Intent 类和数据处理等。
其次,了解即时通讯的发展状况,即时通讯协议大多数是基于开源的XMPP协议,服务器端采用开源的Openfire 服务器,通过API框架的Smack实现服务端和客户端的通信。
然后,对XMPP 协议、Openfire服务器和Smack API进行深入了解。
在理解了Android以及相关技术知识的基础上,研究和设计即时通讯系统,采用客户端/服务器的体系架构。
在其服务端采用MySQL数据库存储数据;在其客户端,由于数据量较少,因此采用Android自身的轻量数据存储机制SharedPreferences。
本系统采用客户端(C)/服务端(S)架构的体系结构,具有服务器端和客户端,采用开源的XMPP协议作为通讯协议。
客户端是基于Android平台进行开发。
通过无线网络与Internet网络建立连接,通过服务器实现与PC机客户端之间的即时通讯。
客户端负责初始化通信过程。
0705030302-尹文博-基于android平台即时通信系统的设计与实现

哈尔滨理工大学毕业设计(论文)任务书学生姓名:尹文博学号:0705030302学院:测控技术与通信工程学院专业:通信工程任务起止时间:2011年3月7日至2011年6月24日毕业设计(论文)题目:基于ANDROID平台即时通信系统的设计与实现毕业设计工作内容:3月7日~3月20日:搜集与课题有关的资料,了解ANDROID平台的相关应用与背景资料;3月21日~4月15日:了解ANDROID平台架构组成及个组成部分作用,尝试搭建ANDROID开发环境并测试简单应用程序;4月16日~5月31日:学习并掌握ANDROID平台的手机即时通讯系统的架构和客户端,服务器端解决方案;6月1日~6月24日:完成服务器端,客户端的设计与实现。
完成系统部署及测试并撰写毕业论文,准备答辩。
资料:[1] 王向辉张国印沈洁.ANDROID应用程序开发.清华大学出版社,2010..3[2] 于少山卡米利毛依丁基于XML的即时通讯系统的研究与实现重庆邮电大学学报2007年6月59-61[3]Jason Morris.Android User Interface Development.Packt Publishing Ltd2011[4] J.F.Dimarzio Android A Progranmmer's Guide Mc Graw Hill.2008指导教师意见:签名:年月日系主任意见:签名:年月日教务处制表哈尔滨理工大学毕业设计中期总结学生姓名:尹文博学号:0705030302学院:测控技术与通信工程学院专业:通信工程任务起止时间:2011年3月7日至2011年6月24日毕业设计(论文)题目:基于STM32F103的高精度锁相环研究与实现中期总结:一、课题来源及研究的目的和意义:随着3G网络的应用,移动终端不再仅是通讯网络终端,还将成为互联网的终端。
移动终端的应用软件和需求的服务与日俱增。
GOOGLE与2007年11月推出了一个专为移动设备设计的软件平台——ANDROID。
基于andriod的语音即时通讯软件设计与实现大学毕设论文

摘要即时通讯是一种基于互联网的即时交流消息的业务,其利用互联网线路,通过文字、语音、视频、文件的信息进行交流与互动,有效的节省了沟通双方的时间与经济成本,自其诞生之日起就获得用户的青睐。
传统的即时通讯应用大多基于PC端实现,随着无线技术(3G网络的普及)和以iphone、android为代表的智能手机的流行,越来越多的用户更青睐在移动终端上使用即时通讯业务,尤其是语音IM业务。
本文分析了当前即时通讯的发展前景及其主流技术研究状况,并设计实现了一款基于android平台的语音即时通讯软件。
本文采用软件工程的管理方法和思想,对项目进行了严格的需求分析及各种用例分析,并提出了合适系统构架(包括服务器和客户端),采用瀑布模型的思想逐步实现软件的各种功能。
本系统涉及客户端和服务器两个部分,但出于时间方面的考虑,仅实现了客户端的相关功能,服务器的搭建实现不在本论文的研究范围之内。
客户端的设计与实现主要分为客户端界面、网络连接模块及语音控制处理模块三大部分进行分析介绍。
其中涉及到的主要技术包括XMPP协议、Android语音录制播放、Speex语音压缩及Android NDK开发的相关知识。
本系统基本完成了预期的各种功能,用户可以进行通畅的语音对话,语音质量满意,此外对语音的压缩也达到了预期的要求。
整个界面的设计也很人性化,达到了很好的用户体验度。
关键词:Android;即时通讯;Speex压缩;语音聊天;XMPP协议AbstractInstant Messaging is kind of Internet-based Instant chatting business, which make use of text,voice,vedio and file to comunicate with each other via Internet. This kind of Service is greatly cost-effective to both chatters and from the day it was born, it has become popular. Traditional instant messaging applications are mostly based on the PC side. Along with the development of wireless technology (especially the popularity of 3G network) and the popularity of smart phones such as iphone, and android, more and more users prefer to use instant messaging services on mobile terminals , especially the voice IM services. This paper analyzes the current prospects for the development of instant messaging and mainstream technology, and designed and implemented a voice instant messaging software based on the android platform.I take advantage of software engineering methods and thoughts,conducted a rigorous needs analysis and a variety of use case analysis, designed the entire architecture of the system (both server and client), tand make use of waterfall model to develop this software. This system involves two parts : the client and server, but for the time considerations, the design and employ of server is not included in this paper. Design and Implementation of the client is divided into the client interface, network connectivity modules, and voice control processing module three parts to be introduced. Involved techniques includes the XMPP protocol, the Android voice record and play,Speex and Android NDK knowledge.The system basically completed the excepted functions, the user can clearly make voice chatting, the voice quality is also satisfied, In addition ,The design of UI is also very human, and have a good user experience.Key words:Android;IM;Speex;V oice Chat;XMPP目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题研究的背景与意义 (1)1.2 Android平台发展概况 (2)1.2.1 Android系统构架 (2)1.2.2 Android组件 (3)1.3 XMPP协议 (3)1.3.1 XMPP协议简介 (4)1.3.2 XMPP会话模型 (4)1.4 语音即时通讯系统的应用前景及发展趋势 (4)1.5 本文的主要研究内容 (5)第2章系统可行性分析 (6)2.1 系统调查描述 (6)2.2 可行性分析 (6)第3章系统的需求分析 (8)3.1 系统功能用例分析 (8)3.2 系统非功能性分析 (9)3.2.1 系统界面设计及整体风格 (9)3.2.2 系统可扩展性及安全性 (9)3.2.3 错误日志和系统国际化 (10)第4章系统的总体设计 (11)4.1 系统总体结构设计 (11)4.1.1 系统总体结构 (11)4.1.2 客户端设计 (12)4.1.3 服务器端设计 (14)4.2 数据库设计 (14)4.2.1 系统配置信息数据设计 (14)4.2.2 SQLite数据库设计 (15)4.2.3 安全性 (16)4.3 网络层整体构架 (16)4.4 XMPP协议 (17)4.5 HTTP传输模块 (18)4.5.1 HTTP传输模块设计 (18)4.5.2 HTTP传输模块实现 (18)4.5 消息发送接收模块 (20)4.5.1 消息发送 (20)4.5.2 消息接收 (20)4.6 XML数据解析 (20)4.6.1 XML数据解析常用方法 (20)4.6.2 DOM结点简介 (21)4.6.3 使用DOM进行xml解析 (21)第5章系统详细设计与实施 (22)5.1 语音录制播放模块设计实现 (22)5.1.1 android音频系统 (22)5.1.2 语音录制与播放实现 (23)5.2 客户端模块设计与实现 (23)5.2.1 UI界面设计 (23)5.2.2 UI界面优化 (24)5.2.3 通讯模型设计 (25)5.2.4 语音模块设计 (25)5.2.5 通知系统设计及其实现 (26)5.3 Speex语音处理实现 (27)5.4 外部库链接实现 (28)5.4.1 NDK 简述 (29)5.4.2 NDK编程实现 (29)5.4.3 外部库链接编码实现 (30)5.5 语音模块测试 (30)5.6 语音压缩效果比较 (31)结论 (33)参考文献 (34)致谢..................................................... 错误!未定义书签。
基于Android平台即时通信系统的设计与实现的开题报告

基于Android平台即时通信系统的设计与实现的开
题报告
论文的题目:基于Android平台即时通信系统的设计与实现
论文的目的和意义:
随着互联网的普及,人们之间的沟通也越来越方便。
即时通信系统
因其快速、方便、可靠等特点,成为人们日常生活中不可或缺的一部分。
本论文旨在基于Android平台设计和实现一个即时通信系统,实现用户之间的快速沟通和信息交流,提高用户的沟通效率和生活质量。
论文的主要内容:
本论文的主要内容包括以下几个方面:
1.前期调研:对目前主流的即时通信系统进行研究和分析,明确设
计和实现的要求和功能。
2.系统设计:通过对用户需求和技术需求的分析,设计系统的整体
框架,包括数据传输、安全性、消息推送等方面的设计。
3.系统实现:基于Android平台,采用Java语言和相关框架,开发
系统的前端和后端,并实现系统的各种功能。
4.系统测试和评价:对系统进行充分的测试和评价,发现和解决存
在的问题,提高系统的稳定性和用户体验。
论文的研究方法:
本论文采用的研究方法主要包括文献调研、可行性分析、需求分析
等方法。
通过对已有研究和相关技术的深入分析,明确系统的设计和实
现方向和目标。
在需求分析阶段,对用户需求和技术需求进行深入分析,为后续的系统设计和实现提供重要参考。
论文的预期成果:
本论文预期实现一款基于Android平台的即时通信系统,实现用户之间的快速沟通和信息交流功能。
通过对系统进行优化和改进,提供更加完善和方便的用户体验,提高用户的生活质量和沟通效率。
旨在为未来的即时通信系统的开发和研究提供一定的借鉴和参考。
基于Android平台的即时通讯系统的研究与实现

基于Android平台的即时通讯系统的研究与实现基于Android平台的即时通讯系统的研究与实现随着移动互联网的蓬勃发展,人们对于即时通讯系统的需求也日益增加。
作为一种快速、便捷、高效的沟通工具,即时通讯系统在人们的日常生活中扮演着越来越重要的角色。
本文将研究并实现一种基于Android平台的即时通讯系统。
首先,我们需要明确即时通讯系统的基本功能和需求。
一个完善的即时通讯系统应该具备以下功能:用户注册与登录、好友列表管理、文字聊天、图片、音频和视频消息的发送与接收、在线状态的管理和显示等等。
在这个基础上,我们还可以考虑一些高级功能,如群聊、消息撤回、消息已读未读状态等。
接下来,我们需要选择适合的开发平台。
Android平台是目前全球使用最广泛的移动操作系统之一,具有开放性和灵活性。
通过Android平台的开发,我们可以充分利用其强大的开发工具和丰富的资源,快速实现一个高质量的即时通讯系统。
在开始具体的开发之前,我们首先要进行系统的需求分析和设计。
根据用户的基本需求,我们可以将系统分为以下几个模块:用户认证模块、好友管理模块、聊天消息模块、在线状态管理模块和界面展示模块。
用户认证模块主要处理用户的注册和登录功能。
用户可以通过手机号、邮箱或第三方账号进行注册和登录。
注册成功后,系统将为每个用户生成一个唯一的标识符,用于区分不同的用户。
好友管理模块负责管理用户的好友列表。
用户可以通过手机号、邮箱或用户名等方式搜索并添加好友。
好友添加成功后,用户可以实时查看好友的在线状态,并且可以发起聊天。
聊天消息模块是系统的核心功能之一。
用户可以选择与好友进行文字聊天、发送图片、音频和视频消息。
在消息发送之前,系统会将消息进行加密处理,保障用户的信息安全。
用户可以在聊天界面中实时地接收和发送消息。
在线状态管理模块用于管理用户的在线状态。
用户登录后,系统会将用户的在线状态设置为在线,好友可以实时查看用户的在线状态。
当用户离线后,系统将自动将用户的在线状态设置为离线。
基于移动互联网的即时通讯系统设计与实现

基于移动互联网的即时通讯系统设计与实现移动互联网的兴起已经改变了我们的生活方式,使得人们能够随时随地进行交流与沟通。
基于移动互联网的即时通讯系统因其快速、方便和实时的特性而得到了广泛的应用。
本文将探讨基于移动互联网的即时通讯系统的设计与实现。
首先,一个基于移动互联网的即时通讯系统需要具备以下几个核心功能:用户注册与登录、好友管理、消息发送与接收、在线状态管理和消息存储与同步。
用户注册与登录是系统的基础功能,用户需要提供个人信息进行注册,包括用户名、密码和手机号码等。
系统应该能够验证提供的信息并生成唯一的用户标识。
登录功能则通过验证用户名和密码来确认用户身份,以便后续的操作能够顺利进行。
好友管理功能是即时通讯系统的重要组成部分。
用户可以搜索并添加其他用户为好友,并能够查看好友列表和好友的在线状态。
同时,用户也可以删除不需要的好友或者屏蔽某些好友的消息。
消息发送与接收是即时通讯系统的核心功能,用户可以选择发送文本、图片、音频或视频等不同类型的消息,并能够选择发送给一个或多个好友。
接收消息时,用户应当及时收到并进行相应的提示。
在线状态管理功能是即时通讯系统的重要特性之一,主要用于表示用户的在线状态,比如在线、离线、忙碌等。
用户应该可以自由切换在线状态,并且其他用户可以即时地查看到该状态。
消息存储与同步功能是即时通讯系统的补充功能,主要用于存储用户的聊天记录,并且能够在不同设备之间进行数据同步,保证用户在不同设备上都可以看到完整的聊天记录。
在基于移动互联网的即时通讯系统的设计与实现过程中,还需要考虑以下几个关键点:安全性、稳定性、性能优化和用户体验。
安全性是建立在系统基础之上的重要要素。
系统应该对用户的个人信息进行保护,包括密码的加密存储、用户身份的验证和数据传输的加密等。
同时,系统应该对用户之间的消息进行加密,防止信息被窃取。
稳定性是系统运行的基本要求。
系统需要经受一段时间的大量用户的使用和消息的传输,应该具备能够长时间稳定运行的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Android平台的即时通讯系统的设计与实现作者:杨莹来源:《中国科技博览》2016年第02期[摘要]本文在开源服务器软件 Openfire 及和 Android 平台上设计了基于XMPP 协议的即时通信系统;实现了即时通讯、好友添加、图片浏览、音乐播放、好友浏览等基本功能。
所实现的系统功能完善,可为个人或企业搭建自己的即时通信系统,用于解决内部数据传输安全,实现了与其他通信系统互通等问题提出了可行性高的解决方案。
[关键词]Android平台,XMPP 通信协议,Openfire服务器,即时通信系统中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2016)02-0179-03引言21世纪,即时通信系统作为一种新兴的技术获得了突飞猛进的发展。
即时通信(IM,Instant Messaging)是一种基于现代计算机网络通信技术的能够即时发送和接收互联网消息的交互方式。
用户可以通过 Android 平台支撑的即时通信系统软件实现不同手机用户之间以及手机与电脑网络之间的视频、音频和文字等各种信息的即时交互通讯,以及移动终端之间点对点的信息交流与各种数据交换。
这些IM 系统丰富了我们的生活,给普通用户之间的低费用通讯带来了极大方便,但同时带来了新的技术和保密问题。
XMPP 协议是开源协议,具有超强的扩展性和灵活性,也有成本低、研究和实现方便等优势,因而,对 XMPP 协议在该领域的研究有利于降低移动平台IM 实现的难度,为有类似需求的中小型企业提供一个低成本的解决方案。
为此,本文中采用XMPP 协议实现移动平台系统,以满足产品自身的需要。
1 系统开发关键技术分析1. Android平台架构分析Android一词的本义指“机器人”,是一个移动设备的软件平台。
它提供包括:SDK、Key Apps、Middleware、Linux Kernel四个部分在内的开源手机操作系统。
它开放了基于内核以上的开发工具,从而保证了内容的可移植性和多样性,为系统开发者开发应用程序提供了一套很好的框架,用户可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。
1.1 Android 系统层次结构如图1所示,Android的架构是由:Linux内核、/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的,通过编译基于框架的应用程序可以降低开发负荷应用软件原则上是在Dalvik VM上运行的。
1).关键应用程序Android平台内包含一些关键应用程序,如:邮件收发客户端程序、短信收发程序、日历和网页浏览器等。
2)应用程序框架Android应用程序的开发基于框架和组件。
Android本身己在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。
3)C/C++函数库Android应用程序框架之下是一套C/C++函数库,它们服务于Andrei应用程序组件,其功能通过组件间接提供给开发者。
4)Java程序运行环境Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。
5)Linux内核Android系统平台是基于优化了的Linux内核,是其系统平台的核心。
它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。
1.2 Android应用的构成和工作机制对于一个Android应用程序来说,是由Activity、IntentReceiver、Serviee、ContentProvider 四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。
在应用程序中使用时,需要在配置文件AndroidMainfest.xd中进行配置,这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等,其中:1) Activity组件,主要负责创建与用户进行交互的显示窗口,用户可以在这些窗口里通过调用SetContentView(View)方法来显示其用户界面;2) IntentReceive组件,用于对外部事件的响应,当外部事件发生时,会使用NotifieationManager通知用户。
如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。
3) Service组件是不带UI提供连续信息的应用程序。
本系统客户端扩展功能的音乐播放就是采用Service来进行设计和开发的,使用户可以边聊天边听音乐。
4) ContentProvider应用程序组件能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。
使用ContentProvider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据迁移性。
2 XMPP 协议基础XMPP协议(Extensible Messaging and Presence Protocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的。
它继承了在XML环境中灵活的发展性,因此,基于XMPP的应用具有超强的可扩展性。
经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。
而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
XMPP中定义了三个角色:客户端、服务器、网关。
通信能够在这三者的任意两个之间双向发生。
服务器同时承担了客户端信息记录,连接管理和信息的路由功能。
网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。
基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
XMPP的基本网络结构如下:C1----S1---S2---C3C2----+--G1===FN1===FC1符号表示:C1,C2,C3=XMPP客户端;S1,S2=XMPP;服务端G1=在XMPP和使用外部消息网络(非XMPP)的协议之间转换的网;FN1=外部消息网络;FC1=外部消息网络的客户端。
1)服务器服务系统是XMPP通信的智能提取层,它主要负责:管理来自其他个体的会话连接或者XML流(streams)和来自客户端、服务器、其他个体的认证发送在XML流实体之中的适当的XML地址节点。
2)客户端大多数客户端是通过TCP直接连接,并且使用XMPP获得服务器提供全部Jabber协议原理及其应用功能和其他服务。
3)网关它的主要功能是将XMPP协议转换成外部消息(non-XMPP)系统使用的协议,也将返回的数据转换成XMPP。
这些通信是基于网关和服务器,基于网关和外部消息系统之间的。
3 基于Android平台的即时通讯系统本系统采用C/S体系结构〕,采用开源的XMPP作为即时通讯协议,通过GPRS无线网络采用TCP协议连接到服务器,通过架设开源的Openfire服务器作为即时通讯平台,实现客户端与客户端之间的即时通讯。
3.1 系统概述本文是在Android平台上开发即时手机通讯系,它能够使用户在手机上方便的、迅捷的收发及时消息、传输图片。
此外,根据现今用户对于即时通讯软件的特殊要求,比如:在聊天的基础之上还要有一些增值服务功能,以满足不同用户的需求。
根据这些特点,本系统除了即时文本消息和图片的传输外,还实现了音乐播放和图片浏览的功能,让用户可以边聊天边听音乐,可以对好友传送过来的图片随时进行浏览,从而实现即时通讯系统的功能多样化。
3.2 系统架构如图3所示,本系统采用客户端(C)/ 服务端(S)架构的体系结构,具有服务器端和客户端。
服务器端:采用基于XMPP协议的实时协作IM跨平台服务器---开源的Openfire服务器,为提供客户端进行会话连接、消息转发、认证及后台管理功能。
客户端:用户间的通讯是通过服务器的转发来实现的,将信息打包成XML文件发送给服务器,然后服务器将其转发给相应的用户。
在Asmack库的支持下,XMPP的客户端的登录,认证,消息收发等基本功能需要重写相应函数,并调用相应接口来实现。
客户端采用MVC的软件结构。
采用Android的XML文件对界面进行描述,作为视图层,负责前台界面的显示;Android的Activity活动类承载了控制层的任务,通过Activity进行逻辑业务处理;而对于数据库和与服务器连接的操作则属于Model层,该层在具体设计上则依赖于自定义的服务类。
4 本即时通讯系统的具体设计与实现4.1 本系统主要界面本系统为客户端/服务器端的系统架构,服务器端由基于Jabber技术的开源服务器Openfire 和MySQL数据库共同构成。
其中,Openfire服务器负责处理所有用户的请求、访问数据库和消息的传递;而客户端是基于Andrnid平台开发的,负责连接并登录服务器,通过服务器来实现客户端与客户端或PC机客户端之间的即时通讯。
1.Openfire服务器管理界面如图4所示,通过该管理界面,管理员可以方面的管理用户的会话连接,服务器安全设置,以及用户信息等。
2)用户注册登录界面。
输入用户名密码后点击登录,客户端向服务器端发起login请求,登录成功后,客户端会将自己的Presence的状态置为available并发送给服务器,表示当前用户在线。
不当对于登录成功的用户具有:浏览好友、图片浏览、音乐播放及添加好友等功能模块。
3)图片浏览功能:在本模块中,合法用户不仅可以实现本地图片的浏览功能,而且对于选中的图片还可以实现图片的自动缩放功能,以便于用户更好地阅读图片。
4)音乐播放界面:音频主界面主要是通过一个XML布局文件实现的,我们把它命名为music.xml,这里采用相对布局和线性布局相结合的方法。
5)即时通讯模块如图5所示,本系统即时通讯模块集成了与好友之间的各种通讯方式,有普通的文本通讯、文件传输、留言录音通讯、语音通话功能。
4.2 文件传输模块的具体实现在本系统功能实现过程中涉及到的文件传输分为:发送端和接收端。
发送端主要通过sendFile()进行文件的发送,两个参数分别为path和msg,path代表文件路径,而msg代表伴随文件传输的普通文本信息。
Msg中包含着文件名、文件路径等信息。
然后创建FileTransferManager,并创建一个输出文件TransFer,调用其sendFile方法将文件发送出去,同时启动新线程用来对文件发送状态进行更新。