java1070基于Java的网络通信系统设计与实现_第1页
java1070基于Java的网络通信系统设计与实现_第2页
java1070基于Java的网络通信系统设计与实现_第3页
java1070基于Java的网络通信系统设计与实现_第4页
java1070基于Java的网络通信系统设计与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的QQ。随着网络聊天一类的聊天系统的发展日新月异,因此产生了制作一个类似QQ的网络聊天工具。本人将用Java编写一个网络聊天系统。论文首先论述了系统的开发背景,并对所用到的开发工具与关键技术做了简单的介绍。接着对系统的研究意义,研究现状及设计目标进行分析,通过对系统需求和可行性进行分析,确定了系统的功能模块,并画出相应的功能结构图、模块图。其次按系统总体设计的结果,对系统中的数据库进行结构设计。本系统采用客户机/服务器架构模式,通过Java提供的Socke

2、t类来连接客户机和服务器并使客户机和服务器之间相互通信,用多线程完成多点对多点的聊天。数据库管理系统用SQL Server2000,完成并通过JDBC-ODBC桥访问数据库。聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息,传输文件等功能。界面设计细分化,方便使用者操作和理解。服务器实现了查询和修改等功能,程序逻辑联系较紧密。关键词:Java,多线程,ServerSocket,SQL Server 2000, 数据库管理系统目 录第1章 绪论11.1 课题选择的背景11.2 课题选择意义11.3 系统开发技术简介21.3.1 Java简介21.3

3、.2 JDBC技术简介21.3.3 数据库Microsoft SQL-Server 2000 简介31.3.4 多线程介绍4第2章 系统分析62.1 系统需求62.1.1 系统的特点分析62.1.2 网络聊天系统需要解决的问题62.2 系统设计思想62.3 系统实现功能分析72.4 系统开发及运行环境7第3章 系统总体设计83.1 总体构架83.2 系统整体功能83.3 系统模块功能设计9第4章 数据库设计124.1 系统E-R图124.2 数据字典124.3 各个数据表的创建12第5章 系统的实现与编码145.1 服务器功能模块的设计145.1.1 Socket介绍145.1.2 Serve

4、rSocket介绍145.2 服务器功能模块的实现155.2.1 多线程服务器模块实现155.2.2 在线用户管理模块实现175.2.3 部门管理模块实现195.2.4 用户管理模块实现205.2.5日志管理模块实现215.3协议设计与实现225.3.1 协议规则225.3.2 协议实现235.4客户端功能模块的设计与实现265.4.1 登陆认证模块265.4.2 主界面模块265.4.3 聊天模块275.4.4 文件传输模块28第6章 系统测试316.1 系统测试概述316.1.1 测试目标316.1.2 测试实例研究与选择316.1.3 系统测试环境316.2 测试内容326.2.1 服务

5、器模块测试326.2.2 客户端模块测试326.2.3 平台兼容性测试336.3 测试结果分析评价33结 论34参考文献35致 谢363.2 系统整体功能基于Java的网络通信系统分为服务器端和客户端,其中:服务器端包括:在线用户管理模块,用户管理模块,部门管理模块,日志管理模块;客户端包括:用户认证模块,主界面模块,聊天模块,文件传输模块。系统整体功能设计如下图3.2所示图3.2 系统整体功能设计图3.3 系统模块功能设计整个系统分为3个模块,其中主要功能如下:(一)服务器端模块服务器端模块首先设计多线程来处理客户端的连接,当受到客户端请求的时候,建立一个新的线程来处理客户端的连接。并且在一

6、个注册中心中登记该线程,并存储客户端用户的一些信息,方便服务器统计在线用户,以便与这些在线用户进行通信。除此之外,为了方便用户更好的操作和掌握服务器端,系统还设计四个管理服务器的模块,分别是在线用户管理模块,用户管理模块,部门管理管理模块和日志管理模块。各个模块功能设计如下:1. 在线用户管理模块该模块主要实现在线用户管理,查看当前登陆账号的所有用户信息(在线用户的)。并且管理员有权限设置用户的在线状态,可以强制用户下线。同时添加一些辅助的功能,比如服务器发送一些系统公告信息等,这样有利于系统消息的及时发送。2. 用户管理模块该模块主要实现新用户的添加、注册用户的删除、修改和查看的功能,管理数

7、据库中存储的用户信息。该模块可以对注册用户的信息(注册用户的编号,姓名,性别,头像,年龄,家庭住址,联系电话,注册时间)进行修改以及查看,并且保证客户端使用这些用户信息登陆服务器。3. 部门管理模块该模块主要实现部门的添加、注册部门的删除、修改和查看的功能,管理数据库中存储的部门信息。该模块可以对注册部门的信息(部门名称,部门描述)进行修改以及查看。4. 日志管理模块日志管理模块主要实现服务器运行状态信息,以及注册用户登陆的一些信息进行记录,管理员可以在需要的时候查看日志,监控服务器的一些状态,以及客户端一些用户的状态。其实现效果如图5.2所示:图5.2 聊天服务器端界面5.2.3 部门管理模

8、块实现该模块主要实现对部门进行管理,根据情况添加,删除或者修改部门等。其设计主要是通过SQL语句来操作数据库数据的。跟普通的管理系统设计思路一样。没有太多的算法,主要是SQL语句的构造,以及数据库操作的API函数的使用。其实现效果如图5.3所示.图5.3 部门管理模块界面图5.4 用户管理界面5.2.5日志管理模块实现日志管理模块主要是监控服务器的一些状态,以及客户端用户登陆的情况。这些日志信息记录是通过工具类LogOper实现日志的记录。该类使用了设计模式中的单例模式,保证服务器端在进行日志操作的时候只有一个实例在内存中进行日志的记录。其日志的存放路径主要是在系统目录下,其文件名为server.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论