毕业设计论文基于Java的仿QQ聊天系统

上传人:枫** 文档编号:564529229 上传时间:2022-10-28 格式:DOC 页数:40 大小:1.71MB
返回 下载 相关 举报
毕业设计论文基于Java的仿QQ聊天系统_第1页
第1页 / 共40页
毕业设计论文基于Java的仿QQ聊天系统_第2页
第2页 / 共40页
毕业设计论文基于Java的仿QQ聊天系统_第3页
第3页 / 共40页
毕业设计论文基于Java的仿QQ聊天系统_第4页
第4页 / 共40页
毕业设计论文基于Java的仿QQ聊天系统_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《毕业设计论文基于Java的仿QQ聊天系统》由会员分享,可在线阅读,更多相关《毕业设计论文基于Java的仿QQ聊天系统(40页珍藏版)》请在金锄头文库上搜索。

1、 JISHOUUNIVERSITY专业课课程论文题 目:基于Java的仿QQ聊天系统“MINI Q”的设计与实现作 者:学 号:所属学院:信息科学与工程学院专业年级:总 评 分:完成时间:吉首大学信息科学与工程学院基于Java的仿QQ聊天系统“MINI Q”的设计与实现摘 要随计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。尤其是,随着信息时代的来临,人与人之间愈来愈趋向于通过网络来交流和传递信息。而聊天系统正是当前人们使用最多的中介。在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。因此,开发和架构这种平台符合时代发展的需要。本系统在开发中用到了局域网通信机制的原理,通

2、过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识CP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。关键词:Socket;客户端;服务器端;Thread;链接(connection)目 录第一章引言2 1.1课题背景、意义及现状2 1.2 涉及的相关技术及协议21.2.1 JAVA语言21.2.2 C/S模式介绍3第二章系统分析4 2.1 可行性分析4 2.2 需求分析42.2.1 功能分析42

3、.2.2 性能分析62.2.3 用例图62.2.4 时序图62.2.5 活动图7第三章总体设计10 3.1 功能模块图10 3.2 数据库设计113.2.1 E-R图113.2.2 表结构设计13 3.3类图16第四章 详细设计及实现17 4.1 界面设计17 4.2 数据输入输出设计214.2.1 数据输入214.2.2 数据输出21 4.3 代码实现214.3.1 服务器端设计214.3.2 传递包的设计244.3.3 聊天客户端设计254.3.4 文件传输设计26第五章 系统测试28 5.1 注册测试28 5.2 登陆测试28 5.3 私聊测试29 5.4 群聊测试30 5.5 文件传输

4、测试31结论33参考文献34第一章引言1.1课题背景、意义及现状交流对于人类社会及其每个成员都至关重要。直接交流的方式包括语言、文字等,而远程交流还需借助于一些先进的工具如电话、网络等。本课题研究的是支持内部网络交流的系统。当今主流的即时聊天工具有QQ,MSN Messenger,Yahoo Messenger等,国内最热门的当属QQ, QQ是深圳市腾讯计算机系统有限公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线聊天、视频电话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与移动通讯终端等多种通讯方式相连。1999年2月,腾讯正式推出。

5、第一个即时通信软件“腾讯QQ”,QQ在线用户由1999年的2人(2人指马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。QQ不仅仅是简单的即时通信软件,它与全国多家寻呼台、移动通信公司合作,实现传统的无线寻呼网、GSM移动电话的短消息互联,是国内最为流行功能最强的即时通信(IM)软件,使QQ不仅仅是单纯意义的网络虚拟呼机,而是一种方便、实用、超高效的即时通信工具。QQ可能是现在在中国被使用次数最多的通讯工具。 它可以在2000/XP/2003/Win7/Win8操作系统下运行,是十分灵活的网络寻呼工具。它会自动检查您是否已联网,如果您的电脑已连入In

6、ternet,可以搜索网友、显示在线网友,可以根据QQ号、昵称、姓名、email地址等关键词来查找,找到后可加入到通讯录中。当您的通讯录中的网友在线时,QQ中朋友的头像就会显示在线,根据提示就可以发送信息,如果对方登记了寻呼机或开通了GSM手机短消息,即使离线了,您也可及时将信息传递给您的好友。虽然以上这些软件是免费的,并且功能越来越强大。但是它们的唯一的不足就是必须要联网或者下载到它们的服务端,要不然是没法脱离Intenet使用的。为了能在一个没有连接到Intenet的局域网使用聊天工具,那就必须要有服务器端。本系统就是包括服务器端与客户端,可以在局域网聊天的一个工具。1.2 涉及的相关技术

7、及协议1.2.1 JAVA语言经过认真的讨论分析,综合各种计算机高级语言的特征和适应范围,最终决定选择纯面向对象的Java语言来完成课题的设计,下面就技术可行性方面,对 Java语言作一简要介绍。Sun公司的口号就是“网络就是计算机”,Java能使所有东西从桌面计算平稳的转 变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用 Java 语言,可以相对轻松的一天编写一个有条理的网络程序。今天,Java的网络 功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上,JavaSoft 实验室正 在不断努力使Java更加完善。就Java语言的主要特点,本人归纳如下:Jav

8、a程序设计的开发过程与运行环境 Java是解释型的高级编程语言,所以 Java 程序的开发通常需要经过编写源程序、 编译生成字节码和运行三个过程。 这里要提到,Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM 可执行代码字节码。这一编译过程同C/C+的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。Java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引

9、用信息保留在字节码中,由解释 器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全性。1.2.2 C/S模式介绍20世纪90年代出现并迅速占据主导地位的一种计算模式为客户机/服务器模式,简称为C/S 模式,它实际上就是把主机终端模式中原来全部集中在主机部分的任务一分为二,保留在主机上的部分负责集中处理和汇总运算,成为服务器;而下放到终端的部分负责为用户提供友好的交互界面,称为客户机。 相对于以前的模式,C/S模式最大的改进是不再把所有软件都装进一台计算机,而是把应用系统分成两个不同的角色和两个不同的地位:一般在运算能力较强的计算机上安装

10、服务器端程序,而在一般的PC上安装客户机程序。正是由于个人 PC 机的出现使客户机/服务器模式成为可能,因为 PC 机具有一定的运算能力,用它代替了上面第一种模式的哑终端后,就可以把主机端的一部分工作放在客户机端完成,从而减轻了主机的负担,也增加了系统对用户的响应速度和响应能力。客户机和服务器之间通过相应的网络协议来进行通讯。客户机向服务器发出数据 请求,服务器将数据传送给客户机进行计算,计算完毕,计算结果可返回给服务器。这种模式的优点充分利用了客户机的性能,使计算能力大大提高;另外,由于客户机和服务器之间的通讯是通过网络协议进行的,是一种逻辑的联系,因此物理上在客户机和服务器两端是易于扩充的

11、。C/S模式是目前占主流的网络计算模式。该模式在操作过程中采取的是主动请示方式: 首先服务器方要先启动,并根据请示提供相应服务(过程如下) : (1)打开一个通信通道同时通知本地主机,服务器愿意在某一个公认地址上接收客户请求。 (2)等待某个客户请求到达该端口。 (3)接收到重复服务请求,处理该请求并发送应答信号。 (4)返回第二步,等待另一客户请求。 (5)关闭该服务器。 客户端: (1)打开一个通信通道,并连接到服务器所在主机的特定端口。 (2)向服务器发送服务请求报文,等待并接收应答;继续提出请求。(3)请求结束后关闭通信通道并终止。 分布运算和分布管理是客户机/服务器模式的特点。最后选

12、择了 C/S 模式。第二章系统分析2.1 可行性分析(1)经济可行性:本系统需要一个oracle数据库服务器,由于使用人数比较少,安装一个免费的oracle数据库完全可以应付需要,所以成本就不用考虑了。(2)操作可行性:只要一台以上计算机连接在同一个局域网内,本系统就可以安装使用,所以操作上完全不存在问题。(3)技术可行性:本系统采用Java语言,是基于CS架构的。开发这个系统需要开发者对socket编程和java Swing这两方面的技术比较熟。由于本人长期从事于java语言编程,所以技术方面是可行的。2.2 需求分析2.2.1 功能分析本系统要实现的功能如下:1)注册服务器收到用户的注册请

13、求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过Jdbc-Odbc与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码。客户收到服务器返回的信息后,便打开主登陆窗口。2)登陆在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JdbcOdbc读取数据库,然后与用户输入的信息比较,如果成功,便打开主程序窗口。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的表,得到好友的号码后,再在icq表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢

14、量(Vector)用以存储好友的呢称,号码。3)私聊私聊就是两个聊天。客户端首先发送消息到服务器端,服务器端根据发送人信息和接收者信息来转发。例如服务器接收到一个A发给B的消息先判断B是否已经在线,如果在线就将信息发送过去。B接收到A发来的信息,如果是未建立对话窗口,就询问是否建立对话,否则就丢弃信息。4)群聊群聊,就是多人一起聊天。过程与私聊差不多。唯一的不同就是服务器会将信息转发给指定群的所有成员。5)创建分组用户注册以后默认的好友分组只有一个。用户在执行添加分组操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是FromClientlisten)。服务器端的fromClientListen接收到这个请求,会进行数据库操作,将要添加的分组信息插入到数据库中。如果成功,则返回这个分组的信息给客户端,否则返回错误提示信息。6)创建群用户注册以后群个数为0。用户在执行添加群操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是FromClientlisten)。服务器端的fromClientListen接收到这个请求,会进行数据库操作,将要添加的群信息插入到数据库中。如果成功,则返回这个群的信息给客户端,否则返回错误提示信息。7)查找好友并加为好友输入要查找的用户ID号,客户端发送一个查询信息给服务器端,如果找到就返回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号