【毕业设计】基于JAVA的网络通讯系统设计与实现(论文+系统)

这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的理念缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的各类系统很难达到老师的要求。

为了大家能够顺利并以最少的精力通过毕设,学长分享优质毕业设计项目,需要的自取。

目录

1.说明

2.系统总体设计

2.1 总体构架

2.2 系统整体功能

2.3 系统模块功能设计


1.说明

一般来说,聊天工具大多数由客户端程序和服务器程序,外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式,通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的,而Java提供的多线程功能,用多线程可完成多点对多点的聊天。数据库管理系统用SQL Server2000,完成并通过JDBC-ODBC桥访问数据库。聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息,传输文件等功能。界面设计细分化,方便使用者操作和理解。服务器实现了查询和修改等功能,程序逻辑联系较紧密。

2.系统总体设计

2.1 总体构架

基于Java的网络聊天系统设计与实现主要考虑三个个方面的设计,即服务器模块设计,服务器客与客户端通信规则设计和客户端模块设计,本系统整体构架如图所示。

 

2.2 系统整体功能

基于JAVA的网络聊天系统分为服务器端和客服端,其中:

服务器端包括:在线用户管理模块,用户管理模块,部门管理模块,日志管理模块;

客服端包括:用户认证模块,主界面模块,聊天模块,文件传输模块。

系统整体功能设计如下图所示

 

2.3 系统模块功能设计

整个系统分为3个模块,其中主要功能如下:

(一)服务器端模块

服务器端模块首先设计多线程来处理客户端的连接,当受到客户端请求的时候,建立一个新的线程来处理客户端的连接。并且在一个注册中心中登记该线程,并存储客户端用户的一些信息,方便服务器统计在线用户,以便与这些在线用户进行通信。除此之外,为了方便用户更好的操作和掌握服务器端,系统还设计四个管理服务器的模块,分别是在线用户管理模块,用户管理模块块,部门管理管理模块和日志管理模块。各个模块功能设计如下:

1.在线用户管理模块

该模块主要实现在线用户管理,查看当前登陆账号的所有用户信息(在线用户的)。并且管理员有权限设置用户的在线状态,可以强制用户下线。同时添加一些辅助的功能,比如服务器发送一些系统公告信息等,这样有利于系统消息的及时发送。

2.用户管理模块

该模块主要实现新用户的添加、注册用户的删除、修改和查看的功能,管理数据库中存储的用户信息。该模块可以对注册用户的信息(注册用户的编号,姓名,性别,头像,年龄,家庭住址,联系电话,注册时间爱你)进行修改以及查看,并且保证客户端使用这些用户信息登陆服务器。

3.部门管理模块

该模块主要实现部门的添加、注册部门的删除、修改和查看的功能,管理数据库中存储的部门信息。该模块可以对注册部门的信息(部门名称,部门描述)进行修改以及查看。

4.日志管理模块

日志管理模块主要实现服务器运行状态信息,以及注册用户登陆的一些信息进行记录,管理员可以在需要的时候查看日志,监控服务器的一些状态,以及客户端一些用户的状态。

(二)协议规则模块

该模块主要实现服务器与客户端之间通信规则的制定。其具体思路是:在服务器使用Socket通信的时候,把服务器与客户端通信的信息封装为一个类对象,然后通过自己手动将这些类对象转化为输入流,并在另一端输出流,根据自己制定的规则逆序解析流,把流转化为类对象。实现服务器与客户端之间的通信。其中具体的表示信息要自己制定,比如登陆成功标示,失败标示,修改密码标示,聊天标示等,这些都需要自己通过一些数字标记。

(三)客户端模块

客户端模块主要实现,用户账号到服务器的认证,以及登陆之后与其他用户通信或者部门通信,除了简单文本聊天之外,也考虑用户之间文件传输的功能。其中客户端之间的通信,是在客户端之间搭建服务器,也即客户端自己建立SocketServer,并用多线程来处理对不同用户的聊天。用户之间文件传输也是通过搭建客户端之间的服务器来实现文件出传的,不需要通过服务器来实现信息的传输,可以减少延迟,也减少了服务器端的流量损失。但是在客户之间搭建连接的时候仍然需要通过服务器来实现一些简单的通知操作,实现客户端与客户端之间搭建其连接。因此客户端大体分四个模块,分别是用户认证模块,主界面模块,聊天模块和文件传输模块。各个功能模块设计如下:

1.用户认证模块

可以模仿QQ登陆界面,输入用户名和密码,以及服务器IP和端口,实现账号和密码到服务器的认证,判断用户是否有权限登录主界面进行信息沟通。

2.主界面模块

该模块主要实现类似QQ友好的界面,查看自己的信息,修改密码,显示好友列表组列表信息。使用Swing现有组建扩展制作合适的界面设计,并搭配后台功能。

3.聊天模块

该模块主要实现不同用户之间信息的发送,如何实现点对点用户通信,多点用户通信,要考虑多线程的设计才可以实现。同时信息发送除了文本之外还要考虑其他信息格式比如图片之类。

4.文件传输模块

实现不同用户之间多线程的文件传输。

其他内容就不一一展示了,如需对应相关资料,可以评论或者下方联系我,私信都可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇瑞毕设程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值