欢迎来到天天文库
浏览记录
ID:35816117
大小:327.50 KB
页数:25页
时间:2019-04-20
《毕业论文--基于java的网络聊天室--服务器端》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、河北农业大学本科毕业论文(设计)题目:基于java的网络聊天室--服务器端学院:信息科学与技术学院专业班级:软件工程0902班学号:学生姓名:指导教师姓名:指导教师职称:副教授2013年6月1日23目录1绪论21.1背景及意义11.2研究现状12系统分析32.1实现技术32.2系统分析63系统设计73.1系统功能结构73.2系统业务流程83.3系统实现原理83.4模块化设计93.5数据库设计93.6开发环境与运行环境103.7客户端结构103.8服务器端结构114系统实现114.1新用户注册模块114.2登录模块134.3消息通
2、信模块:与显示的在线好友间通信154.4服务器端175总结22参考文献23致谢23231绪论1.1背景及意义网络通信在当今信息社会中起着不可或缺的作用,人们可以利用网络通信技术进行即时的信息交流。比如QQ聊天工具,它就是利用网络通信技术开发的一款众所周知的网络聊天工具。目前,信息交流是互联网提供的主要内容,网络通信系统有多重实现方式,类似ICQ属于一种点对点的聊天系统;还有一种是基于Socket的集中式聊天系统,这种聊天系统需要登录统一的聊天服务器。当今主流的聊天工具有QQ,ICQ,MSNMessage等,国内最热门的当属QQ,
3、腾讯QQ是由深圳市腾讯计算机系统公司开发的,基于Internet的即时寻呼软件。您可以使用QQ和好友用户进行交流、信息即时发送、即时回复、收发即时,功能全面。QQ支持显示朋友在线信息、即时传送信息、即时交谈、即时发送文件和网址。网络聊天以成为上网族的一种普遍的休闲方式,可以毫不夸张的说,全国的网民中没人不知道QQ聊天软件,所以,一款好的即时通信聊天软件成了上网的必备工具之一。网上有很多的聊天软件可供网民们选择,各有不同的特点和长处,可满足不同人的各种需求。局域网聊天工具,是在局域网内部使用的,用户之间用来交流的一个工具,一般都具
4、有文本聊天和文件传输功能。局域网聊天软件因其使用简单,系统资源消耗少等优点,成为各企事业单位等的局域网内广泛应用的软件之一。1.2研究现状目前国内外做聊天系统的公司很多,产品也琳琅满目,国内有诸如腾讯QQ、新浪UC等,国外有著名的MSN等。本人取最具代表性的QQ和MSN进行了一些研究,作为我开发聊天系统的准备。腾讯无疑是国内即时通讯市场的霸主,自从99年进入即时通讯领域并迅速占市场之后,其在国内用户数量始终高居榜首,即使近几年面对微软MSN的强大攻势,腾讯QQ的时常占有率依然稳步增长。腾讯的成功与其对QQ的不断创新和完善是分不开
5、的。参考了许多网络上的资料,以及自己通过观察腾讯QQ运行时的各种细节。可以确定腾讯QQ是以多服务器提供服务、服务器总控客户端、客户端之间UDP直连通信的。并且在两个客户端之间不能建立直连的情况下,才由服务器进行中转通信。其模型如图1.1:23图1.1腾讯QQ服务器-客户端模型与腾讯QQ不同,微软的MSNMessenger只使用了TCP作为传输层通信协议,所有客户端与服务器进行连接,然后通过与服务器的TCP连接进行中转通信。其模型如图1.2:图1.2MSN服务器-客户端模型腾讯使用的模型中,服务器主要处理客户端各种状态的控制,可以
6、极大减轻服务器的处理压力,但其内部协议和实现复杂度都较高。而MSNMessenger所有数据都要经过服务器,服务器压力可想而知(难怪平时很少见到使用MSN进行语音视频聊天的)。232系统分析2.1实现技术2.1.1Java语言Java,是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由Sun公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。它最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预
7、期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月以“Java”的名称正式发布了。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java编程语言的风格十分接近C++语言,Java继承了C++语言面向对象技术的内核,舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间
8、。在JavaSE1.5版本中Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java不同于一般的编译运行计算机语言和解释执行计算机语言。它首先将源代码编译成字节码(bytecode),然后依赖
此文档下载收益归作者所有