欢迎来到天天文库
浏览记录
ID:6194300
大小:547.50 KB
页数:29页
时间:2018-01-06
《基于java的android即时通讯软件论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于JAVA的ANDROID即时通讯软件毕业论文目录1绪论11.1国内外聊天系统的研究现状11.2Java语言21.2.1Java的发展历史21.2.2Java的特点31.2.3Java与Internet41.3Socket编程41.3.1关于TCP/IP协议41.3.2服务器和客户机51.4本文内容安排62需求分析72.1可行性研究72.1.1可行性分析72.1.2系统功能需求72.1.3系统性能需求82.1.4系统运行需求82.2数据流图82.2.1顶层数据流图82.2.2一层数据流图92.2.3二层数
2、据流图93概要设计113.1系统实现原理113.2系统实现层次图:123.3各模块详细功能123.3.2服务器端结构123.3.2客户端结构14-29-4详细设计194.1系统流程图194.1.1系统总体流程图194.1.2系统客户端流程图204.2编写服务器端程序204.2.1问题陈述204.2.2解决方案214.3客户端程序编写284.3.3聊天室38参考文献46致谢451绪论1.1国内外即时通讯系统的研究现状目前国内外做即时通讯软件的公司很多,产品也琳琅满目,国内有诸如腾讯QQ、新浪UC、网易泡泡等,
3、国外有著名的MSN(新版改名为LiveMessenger)以及跨平台Gaim等。本人取最具代表性的QQ和MSN进行了一些研究,作为我开发即时通讯的准备。腾讯无疑是国内即时通讯市场的霸主,自从99年进入即时通讯领域并迅速占市场之后,其在国内用户数量始终高居榜首,即使近几年面对微软MSN的强大攻势,腾讯QQ的时常占有率依然稳步增长。腾讯的成功与其对QQ的不断创新和完善是分不开的。参考了许多网络上的资料,以及自己通过观察腾讯QQ运行时的各种细节。可以确定腾讯QQ是以多服务器提供服务、服务器总控客户端、客户端之间U
4、DP直连通信的。并且在两个客户端之间不能建立直连的情况下,才由服务器进行中转通信。其模型如图1-1-29-图1-1腾讯QQ服务器-客户端模型1与腾讯QQ不同,微软的MSNMessenger只使用了TCP作为传输层通信协议,所有客户端与服务器进行连接,然后通过与服务器的TCP连接进行中转通信。其模型如图1-2图1-2MSN服务器-客户端模型2腾讯使用的模型中,服务器主要处理客户端各种状态的控制,可以极大减轻服务器的处理压力,但其内部协议和实现复杂度都较高。而MSNMessenger-29-所有数据都要经过服务
5、器,所以服务器方的数据量会大一些(这也是平时很少见到使用MSN进行语音视频聊天的)。综合腾讯QQ和微软MSNMessenger的特点和我所学专业技术范畴,我打算在我的系统中尝试建立MSN的服务器-客户端模型,但以单服务器提供服务。1.2Java语言1.2.1Java的发展历史Java的发展历史,可以追朔到1990年。当时SunMicrosystem公司为了发展消费类电子产品进行了一个名为Green的项目计划。这个计划的负责任是JamesGosling。起初他用具有面向对象特征的C++语言编写嵌入式软件,可以
6、放在面包机或PDA(PersonalDigitalAssistant,个人数字主力)等小型电子消费这杯里,以使设备变得更为“聪明”,更具备人工只能。但后来发现C++并不适合这类任务;因为C++常会使系统失效。尤其在内存管理方面,c++采用直接地址访问方式。需要程序员记录并管理内存资源。这造成程序员编程的极大负担,并可能产生多个Bugs。面包机上的程序错误可能使面包机烧坏甚至爆炸。为了解决此类问题,Gosling决定开发一种新的语言,并取名为Oak。它采用了大部分与C++类似的语法对可能具备危险性的功能加以改
7、进,例如将内存管理改为由语言自己进行管理,以减少程序员的负担及可能发生的错误。Oak是一种可移置的语言,它是一种平台独立的语言,能够在各种芯片上执行,可以降低设备的研发成本。1.2.2Java的特点Java是一种简单、安全、容易适用、面向对象、可移置、高性能、多线程的语言。1.简单性Java语言简单高校,基本Java系统(编译器和解释器)所占空间不足250KB由于Java最初是为了对家用电器进行集成控制而设计的,因而具备简单命了的特征。2.面向对象面向对象技术是现代工业的一次革新,提高了软件的模块化程度和重
8、复适用率,缩短了软件开发时间,减低了卡发成本。在Java之前虽然已经有面向对象的程序设计语言问问世,但有些如c++并不是完全的面向对象,而是面向过程和面向对象的混合体。Java则是完全面向对象的程序设计语言。3.安全性Java是可以用在网路及分布环境下的网路程序设计语言。在网路环境下,语言的安全性变得更为重要。Java提供了许多安全机制来保证其适用上的安全性。4.平台独立-29-平台独立指程序不受操作平台的限制,
此文档下载收益归作者所有