即时通讯软件排名【浅析即时通讯系统的设计与实现】
摘要:本文对即时通讯系统进行剖析,从系统客户端与系统服务器两个方面探析设计与实现,为相关研究人员提供理论参考依据,加大研究力度。 关键词:设计与实现 即时通讯系统 客户端
前言
即时通讯(IM)主要是在互联网中接收与发送各种消息的业务。该系统的出现拓展了人们生活交流空间。
1.即时通讯系统的设计与实现
当客户和客户进行通讯时,需要将信息发送到服务器上,服务器对信息进行处理后发到另一个客户端上。其系统的拓扑结构如下图:
图1 系统的拓扑结构
1.1设计客户端及实现
1.1.1 客户端的设计
本文的客户端使用Google作为承载设备,其框架选择了Android系统架构,它主要分为5个组成部分,以下对这几个组成部分略作阐述。
1)Linux Kernel;Android系统架构是在Linux 2.6所提供的核心服务;而Linux Kernel则是一个抽象层,隐藏硬件上的细节给上层服务。
2)Android Runtime;Android构架中存在核心库集合,能够提供各种JAVA编程的语言核心功能。
3)Libraries;Android中也有C/C++库集合,它是经过Android中的使用程序给开发者提供使用。
4)Application Framework;Android能够为开发者提供新颖与丰富的应用程序。开发者可随心所欲使用访问位置信息、硬件优势及后台服务。
5)Applications;这是核心应用程序的集合,包含了SMS程序、地图、日历及浏览器等。
1.1.2 客户端的实现
客户端使用了MVC设计模式,把数据界面、模型及逻辑合理分离,进而展示出客户端的条理清晰,进一步改善与扩充功能。
当用户填写好注册信息点击按钮成功后,会返回6位数的ID号,这是用户登录凭证。如下图:
图2注册界面
实现客户端的注册代码较多,本文就不一一列出,列举以下代码作为示范:
public class RegistView extends Dialog implements OnClickListener{
private Context context;
public RegistView(Context context) {
super(context);
this.context = context;
}
……
2.2设计服务器及实现
1)服务器的设计
本文设计服务器中的承载平台使用了Google App Engine。这种程序极易进行构建与维护,且Google App Engine还能够支持多种编写语言应用程序的运行,以及提供专用Python 运行环境。在该构架中,客户使用哪种资源就要为哪种资源而付费,无设置成本,也无重复费用,如果客户成为了付费用户,其各种配额还会相应提升,完全超过免费水平的范围。
2)服务器的实现
对于服务器实现来说,主要有服务器的用户组注册、用户登录、在线服务几大板块。该模块产生出6位数的ID,还要从信息库中搜索没有相同的ID号,之后对注册数据包进行解析,生成用户对象,并将这些信息返回到客户端。如下图:
图3注册模块类图
实现服务器的注册代码较多,本文就不一一列出,列举以下代码作为示范:
public void regist(HttpServletRequest req, HttpServletResponse resp)
{String getPack = (String) req.getAttribute("pack");
String newPack = null;
ParseInterface parse = new ParseImpl();
ProtocolPackageInterface ppi = new ProtocolPackageImpl( );
PersistenceManager pm = PMF.get().getPersistenceManager( );
……}
3.结束语
总之,本设计通过实现来看是具有使用价值,但是因设计自身有一些Bug导致不稳定。因此,还要对即时通讯系统设计进一步优化、加强,完善漏洞,让该即时通讯系统具有使用价值。
参考文献:
[1]杨文志.Google Android程序设计指南[M].电子工业出版社.2009年
[2]余志龙. Google Android SDK开发范例大全(第2版)[M].人民邮电出版社,2010年
[3]杨丰盛. Android应用开发揭密[M]. 机械工业出版社,2010年
[4]郭宏志. Android应用开发详解[M]. 电子工业出版社,2010年