java毕业设计——基于java+mysql+socket的即时通讯软件设计与实现(毕业论文+程序源码)——即时通讯软件

基于java+mysql+socket的即时通讯软件设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于java+mysql+socket的即时通讯软件设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

  • 基于java+mysql+socket的即时通讯软件设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 即时通讯软件即所谓的聊天工具,其主要用途是用于文字信息的传递与文件传输。使用ECLIPSE作为即时通讯软件的开发工具,使用Socket建立通讯渠道,多线程实现多台计算机同时进行信息的传递,SWING技术等进行实际开发相对比较合适。通过一些轻松的注册登录后,在局域网中即时聊天便可以成功进行。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:8616个字24页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图


3、关键词:

即时通讯软件,局域网聊天,Java,Socket

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

引 言
1.1 开发背景
省略

即时通讯软件即所谓的聊天工具,作为进行文字传输、文件传输的工具被使用在互联网的客户端上。从专业角度来介绍,即时通讯软件一般分为依赖于服务器的与依赖于P2P的[2]。
从现状来看,互联网上深受用户喜爱的即时通讯软件主要有以下几个:微信、QQ、YY、飞秋等等[5]。

1.2 开发意义
省略

Socket是即时通讯系统实现的核心技术,可以通过端口设置与IP地址来构建通讯的桥梁,以便各类信息的发送与接收。在这个软件中可以与陌生用户或者你已加入用户列表中的用户进行信息的传递来完成基本的交流,系统在后续中是会继续进行功能的完善与拓展,来实现文件传输,语音传输等各种方式来加强用户的体验,为用户带来极大的便利。

2 系统设计相关技术
2.1 Java语言
博网即时通讯系统之所以最终采用Java语言进行开发,主要是由于该语言可以跨平台的特性使得其在开发语言中处于优势地位,并且简单易用和安全性也是Java的重要特点[4]。正因如此游戏开发、安卓开发、互联网web系统开发等领域都有Java的身影。它不但包含了C++语言中Object Oriented的特性,而且优化了C中非常困难复杂的指针、多继承等特点,同时又增加了垃圾回收的机制(GC)简化了程序员的开发,其在相应程序运行完成后会自动销毁与清空被占用的内存,而这些种种的基本特点确赋予了它更加优异的性能,因此博网即时通讯系统选用Java语言进行开发。

2.2 MySQL数据库
MySQL的是使用C和C++编写的轻量级关系型数据库,经过了多种编译器处理之后代码的可移植性非常高。支持了多种操作系统的同时还为各式各样的编程语言提供了应用程序接口。从算法的角度优化执行SQL语句的能力,很大幅度的提高了执行效率。提供用管理工具。是一个可以处理千万级别记录的即强大又轻量的数据库软件[5]。

想对于其他数据库,比如Oracle之类来说,MySQL的规模是偏小的,但同时它也是较轻便的,它对计算机资源占用较少,确能提供用户和一些规模不大的企业足够的功能,所以MySQL是足够我们使用的同时减轻了我们的成本。

2.3 Socket
Socket是用于连接通信的双方的开发技术,使其能够构建通信的桥梁,进而进行信息的传递,当一方连接另一方时要确认对方的IP与Port,而服务器端则需要打开相应的端口号等待客户端进行连接[6]。

具体的说:在运行该系统时,需要先启动服务器端,以打开服务器端的连接端口并进行监听,等待其他的用户链接,当其他用户的链接信息传来时,该用户就会被赋予相应的端口号,然后与服务端进行链接,服务器端与客户端之间的通信渠道而后被建立,构建成功的通信渠道,可以通过编写socket来相互通信,若有新的客户端请求来链接,则服务器端自身则需要获得一个新的端口号来执行被占用的旧的端口号的监听工作,以便于应答新的客户端请求,真正实现多客户的服务功能,使多个客户可以通过服务器作为媒介从而进行轻松且简便的聊天与各种功能[7]。

Socket程序的工作过程:
1、建立Socket连接:,当一方连接另一方时进行通信时要确认对方的IP与Port,然后发送请求并等待回应确认是否已经接受到自己的链接请求。
2、数据通信:使用上一步所建立的连接通道进行信息的传输与交互。
3、关闭:信息的传输与交互完毕后,将构建的连接通道拆除,以释放资源,方便别的客户端进行链接。
Socket信息交互原理图如图1所示:

在这里插入图片描述

图1 Socket信息交互图

3 系统需求分析
3.1 可行性分析
省略

1.技术可行性
互联网技术的迅速发展,使得互联网成为了各类企业必须涉及的部分,同时互联网技术的发展更为成熟,使得各种基于互联网开发的信息系统变成了企业公司、部门单位提高工作效率的优秀方法[8]。另外,即时通讯系统的开发已经很多的实例,技术的要求度并不高,各类进行开发的软件获取并不困难,所以成功开发是可行的。
(1)系统软件
操作系统: 能够支持Eclipse运行的各类系统均可
开发软件:myeclipse 或者 eclipse
Web Server:JBoss、Weblogic或者tomcat
JDK版本:jdk 6.0 以上版本
(2)开发语言
Java是一门简单易用而且功能强大的技术,由于该语言可以跨平台的特性使得其在开发语言中处于优势地位,它不但包含了C++语言中Object Oriented的特性,而且优化了C中非常困难复杂的指针、多继承等特点,同时又增加了垃圾回收的机制(GC)简化了程序员的开发,及时释放存储空间让开发者不在为此耗费精力。

2.经济可行性
省略

3.法律可行性
省略

4.概述
省略

3.2 需求分析
省略

Server方面:
运行监控,打开Server,执行对其它用户的监控。
关闭监控,关闭Server,不在对其它用户进行监控。
阅览用户信息,阅览已登录用户信息。
管理用户,强制使被选择的用户退出登录状态。

Client方面:
申请账号功能,使用者有权限在启动客户端后进行注册以及登录。
添加好友功能,用户将陌生人加为好友。
删除好友功能,用户有权限可以删除好友。
修改个人资料功能,用户有权限可以修改以往设置的所有基本信息。
修改头像功能,用户有权限能够修改自己现在的头像。
即时聊天功能,用户之间有权限与拥有账号的用户进行即时的聊天。
查看聊天记录功能,用户有权限查看与好友过往的聊天记录。

程序工作原理图如图2所示:
在这里插入图片描述

图2 程序工作原理

3.3 系统流程图
客户端原理图如图3所示:

在这里插入图片描述

图3 客户端流程图
服务器端原理图如图4所示:
在这里插入图片描述

图4 服务器端流程图

3.4 非功能性需求
省略

4 系统设计
4.1 系统功能结构
该即时通讯系统是有两部分组成,服务器端可以通过启动来监听客户端信息的传递与执行各种对客户端的监控,客户端则是通过人性化与美观的界面来使用户可以易上手和舒适的体验快速与简便的通讯[9]。

应用从这两部分分别进行了详细的功能设计,服务器端功能主要为启动对于客户端的监听与关闭监听,还有对于已注册用户的实时监控与管理,客户端功能主要为使用者该软件账号的申请与进入操作界面,还有自己资料的修改以及对于其他账号好友的添加与管理等等。

软件功能层次图如图5所示
在这里插入图片描述

图5 软件功能层次图

4.2 数据库设计
数据库是该即时通讯系统的中枢结构,进行信息处理的各个部分都是在数据库的基础上的,从而能够达成对于各类数据安全完整的存储,并进行合理的运用[10]。有必要时可以设置数据字典,数据字典对于开发非常的有效,它的存在避免了程序员之前互相作繁杂的沟通,大家按照统一的标准来进行,即保证了效率也提高了整体的可维护性,下面是必须要注意的一些关键点:
(1)性能:数据库必须具有足够能力进行数据管控;
(2)兼容性:数据库是否支持开发所需的其他环境;
(3)封闭性:数据库对于数据的存储与处理是否足够保密;
(4)可靠性:数据库能不能承担对于数据的管理与传递;
(5)并行性:数据库是否可以并行运行在多节点上;
(6)可操作性:数据库是否在使用前需要大量时间学习。
根据该即时通讯系统开发时的各类现状需求,我们最终选择了MySQL作为信息处理的载体。

4.2.1 概念结构设计
我们将系统中用到的各类数据抽象成各种数据体系,这些数据类型所组建成的体系正是概念结构的构建过程,进而组建全局的概念结构。

在这里插入图片描述

图6 用户信息实体属性图

在这里插入图片描述

图7 好友实体属性图

在这里插入图片描述

图8 账号实体属性图

4.2.2 逻辑结构设计
逻辑结构设计则是把上一步设计好的E-R图结构转换为系统中相应的各类数据对应的逻辑结构。而E-R图向关系结构的过度,正是将各类实体与实体的对应关系进一步具体化,这是必要的,也是一个难点所在。

实体之间的关系是需要分为下述几种角度分析的:
如果博网即时通讯系统中实体间联系是1:1,则关系模式是自由的,可以与其他任何的关系模式结合。

如果博网即时通讯系统中实体间联系是1:n,则应将单独那一端的关系码列入其他端构建的各类结构中。

要是博网即时通讯系统中实体间联系是n:m,则应将各端与各端的实体对应关系表清,实体的码与联系的属性正是关系的属性。
基于上述原则,进而完成模型的转换。

4.2.3 物理结构设计
下述其遵守规则:
(1)避免各类数据的交叉而导致内存的浪费,最好建立数据字典。
(2)开发与设定相匹配,避免导致混乱。
(3)数据之间的关系必须是合理的,是可以在后续功能的拓展后不会产生影响的。
基于以上的考量,对本软件的信息结构如下:
表1 基本信息表

在这里插入图片描述
在这里插入图片描述

表2 好友表
在这里插入图片描述

表3 账号表
在这里插入图片描述

5 系统实现
本系统运用socket开发技术作为构建信息传递的通道,MySQL作为数据库。只需在eclipse或者myeclipse环境中开发程序即可。

博网即时通讯系统在设计过程中数据的复杂程度并不高,所以MySQL已经可以满足需求,所以我们使用该软件作为数据的承载体。

5.1 系统运行环境和开发平台
表4 系统运行环境和开发平台需求表
在这里插入图片描述

5.2 系统实现界面
5.2.1 控制端操作页面
图9是控制端操作页面,通过运行相应的文件,即可打开该服务器端界面,在这个界面可以对已经注册过的用户进行管理与监控,也可以对服务器进行的基本管控,在对话框中查看一些基本日志。
在这里插入图片描述

图9 控制端操作页面
图10是打开运行后的服务器页面,能够看到可以对用户进行管理,并在对话框中会产生一些辅助日志。
在这里插入图片描述

图10 服务器端上线页面

5.2.2 用户端操作页面
用户申请账号如图11所示,是用户端进行账号申请的页面,用户需要在该界面进行相关信息的完善,然后即可注册成功。
在这里插入图片描述

图11 用户申请页面
图12是申请成功界面,申请成功后可以获得登录号码。
在这里插入图片描述

图12 用户申请成功界面
用户登录如图13所示,可以看到在该对话框中输入一些必要的信息即可完成登录,进入下一个界面。
在这里插入图片描述

图13 用户登录界面
图14是登陆后的用户界面,能看到没有任何好友,所以需要自己进行添加。

在这里插入图片描述

图14 用户登录成功界面

添加好友如图15所示,这是用户将陌生人加入列表中进行交互,搜索相应用户账号,则可以搜索到该账号的持有者,然后加入列表。

图15 用户搜索账号页面

图16是用户进行已搜索到账号并进行添加的界面,当对应用户信息显示出来时,可以先查看该用户信息再选择是否添加该账户。
在这里插入图片描述

图16 用户账号添加页面

用户与其他用户进行交互方式如图17所示,是各位用户正在进行交互选择的页面,分为:信息传递,好友操作等等功能。
在这里插入图片描述

图17 用户好友交互界面

图18是用户根据对话框进入相应界面,然后进行下一步操作选择的用户基本操作页面。
在这里插入图片描述

图18 用户修改资料界面
更换头像如图19所示这是用户变更头像的界面。
在这里插入图片描述

图19 用户修改头像界面

图20是用户管理个人基本信息的界面。
在这里插入图片描述

图20 用户修改信息界面
即时聊天如图21是用户正在与其他用户进行信息的交互。
在这里插入图片描述

图21 即时聊天界面
图22是用户之间的聊天界面,可以看到正在进行相互交流
在这里插入图片描述

图22 交互界面
信息传递页面如图23所示,是各位用户进行信息传递的基本页面。
在这里插入图片描述

图23 信息传递页面

图24是用户的基本信息、控制端与各个用户均可以对其他用户进行基本信息的阅览。
在这里插入图片描述

图24 用户基本资料界面

移除该用户如图25所示,是用户将以添加账户进行移除的页面,用户有权限进行该操作。
在这里插入图片描述

图25 用户删除好友界面
6 系统测试
省略

6.1 测试内容
1.文档资料的核查:博网即时通讯系统需遵循相关规则进行严密的核查;
2.余量要求:博网即时通讯系统测试的信息量,该方面不能低于使软件能够正常持续运行的基本指标;
3.功能测试:博网即时通讯系统前端与后端的测试必须进行各个功能的全面测试,不能出现疏漏;
4.性能测试:博网即时通讯系统在该方面的测试必须从满足用户需求这个基本点开始,对于系统的稳定性,各类突发情况的处理等等性能进行多方面充足检测;
5.强化测试:博网即时通讯系统的正常使用必须考虑到大量用户而产生的压力,所以对该方面同样必须进行足够的预期计算;

6.2 测试预期结果
在即时通讯系统中,初步预估目标应是:
控制端:
控制端能够打开并成功对其他用户进行监控。
控制端能够在页面上对在线的账户进行管理。

用户端:
用户可以申请账号并进入用户端界面。
用户可以改动其基本信息。
用户可以将已申请账号的用户加入自己的列表中
用户可以与列表中的其他账号进行交互。
用户有权限重复阅览过往的信息传递记录。
用户可以将其他用户移出自己对话列表。

6.3 测试用例
软件测试是一项极其重要且不可缺少的工作,在某些看上去不起眼的细节上通常会发生严重的软件故障。所以我们决定使用黑盒测试对其进行检测,黑盒测试的原理是将系统当成一个黑盒,不去重点关注内部的构造,用结果来证明功能是否完备。这种测试方式简单高效,但是对用例的丰富程度要求高,只要全面的多角度的用例才能更好地得到结果。根据测试用例测试结果如下:

1.服务器启动
旋转图片测试表如表5所示:

表5 旋转图片测试表
在这里插入图片描述

2.用户注册
用户注册测试表如表6所示:
表6 用户注册测试表
在这里插入图片描述

3.添加好友
添加好友测试表如表7所示:
表7 添加好友测试表
在这里插入图片描述

6.4 测试结果
在系统功能基本完成后,对该系统进行了全方位的整体功能进行了大量的测试,在测试的实施过程中产生大量的BUG与一些没有注意到的错误,后经过对于代码的审查与调试,已将程序错误基本解决,后有进行的充足的各类测试,现系统已完成各项测试,成功达到了预期所设定的目标。

在这里插入图片描述

图26 并发数与响应时间关系图
在图26中能够观察到,当在使用的客户数偏小是,软件的应答效率很高,其延迟很低,但客户量的逐渐上升时,响应时间并没有出现很高的提升,所以在性能方面,该系统已满足用户使用需求。

在根据得到以上各类信息后,本软件测试阶段的工作顺利完成,系统已经基本可以实现预期的效果。

7 结语
省略

参考文献
[1] 罗军舟等编著.《TCP/IP协议及网络编程技术》[M].清华大学出版社.2004年.
2萨默维尔.软件工程(第九版)[M].机械工业出版社,2011.05
[3] 黄永峰等著.IP网络多媒体通信技术[M].人民邮电出版社.2003年.
[4] 昊斯特曼 (Horstmann Cay S.),Gary Cornell著 叶乃文, 邝劲筠, 杜永萍译 JAVA核心技术[M]. 电子工业出版社,2011.
[5] 祝定泽,张海.My SQL核心内幕[M].北京:电子工业出版社.2009
[6] 姬猛洛,李军译. 即时消息传递系统编程源代码解析.北京:电子工业出版社,2002 .
[7] 张海藩.软件工程导论(第四版)[M]. 北京:清华大学出版社,2002
[8] 徐晓春. Java即时通讯系统[M]. 长春:吉林大学,2007
[9] 王大锋. P2P即时通讯软件监控系统的研究与实现. 北京:中国科学院研究生院软件研究所,2005.
[10] 庄成三,洪玫,杨秋.数据库系统原理及其应用[M].电子工业出版社,2000


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于java+mysql+socket的即时通讯软件设计与实现(源码+文档)_mysql_socket_即时通讯软件.zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/46547.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕业设计-基于微信小程序的图书推荐前台系统

目录 前言 课题背景与简介 实现设计思路 一、图书推荐微信小程序前台模块设计与实现 二、前台设计关键代码 三、总结 实现效果样例 更多帮助 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费…

基于大数据平台的毕业设计

前言 2022年最新大数据毕设文章: 基于大数据平台的毕业设计01:基于Docker的HDP集群搭建 最近有很多人问我,大数据专业有什么好的毕设项目,我就简单的回复了一下。也有直接问我要源码的… 所以就抽空写一写自己毕业设计的一个思…

博网即时通讯软件的设计与实现毕业设计(论文+PPT+源码)

幻灯片1 选题背景及意义 研究技术与方法 设计内容与模块 设计的环境、方法及措施 幻灯片2 选题背景及意义 1 即时通讯软件使人与人的沟通突破时空极限,突破环境极限,使自我突破心理极限。 1 背景 2 作为使用频率最高的网络软件,即时通…

数据可视化方向的毕业设计详细思路

距离我本科答辩顺利通过已经过去十几天了,我决定把本科阶段最后的小成果做个总结分享给想做此方向项目的小伙伴们,希望能让你们想在动手实操时有项目可供参考,有实现思路可供学习,演示视频先呈现给大家。 一、研究目的及意义 &a…

毕业设计-后台管理系统

关于代做毕业设计的历程: 关于毕设算是大学最重要和最能锻炼自己的课程设计之一了,但是相对于一部分大学生来说,要想自己凭空想出一个系统,而且是使用大学所学的技术是比较难做出一个像样的毕业设计,这是发自我个人的观…

毕业设计- 基于Android的教务管理系统(带流程图)

—— 等风来不如追风去,追逐的过程就是人生的意义。 项目介绍 系统用来管理班级的日常班务信息,系统角色分为三种管理员、班委和学生。 管理员:拥有最高权限,可以管理即增加、查询、修改和删除所有数据。 班委:不能申批…

本科毕业论文-软件开发类-《基于Android端开关控制系统的设计与实现》-论文模板

目 录 前言 一、任务书 二、目录 三、论文正文 摘要 ABSTRACT 1.引言 2.系统开发环境 2.1可行性分析 2.2 开发工具介绍 3.需求分析 3.1 功能需求分析 3.2 数据流程图 4.总体设计 4.1 系统整体模块设计 4.2 红外编码设计与蓝牙通信设计 4.3 系统功能结构设计 …

计算机毕业设计源码——基于Android的真人社交游戏辅助应用开发

编号 本科生毕业设计(论文) 题目: 真人社交游戏辅助应用开发 专业 学 号 学生姓名 指导教师 摘 要 时至今日,社交已成为人们生活中必不可少的一部分,社交网络的盛行已经成为一种必然趋势.与此同时&a…

Mixlab Insight:不同职业对GPT-4的看法

shadow LLM 、生成式人工智能,大量企业需要升级改造内部的岗位和工作流,至少包括:商业模式改造升级、团队岗位的职业要求和人才、虚拟/仿真的生产线。 MixGPT:在GPT4上线当天,我们开启了激烈的讨论,关于职业…

Android 大作业之个人博客新闻App

用到的技术: 网络编程、多线程编程、listview、数据库、等等 效果图 **注:**新闻数据来源“聚合数据”API接口,如果没显示出来,是调用次数超过了,最好自己申请API接口(免费) 本设计代码已上…

Android 优秀文章收集整理集合

转载 自 https://github.com/jiang111/awesome-android-tips 记录自己遇到的比较有价值的Android相关的blog MaHua是online md编辑器,挺好用。 本是自己记录一些有价值的blog,没成想有不少star的,为了方便查看,等有时间就会进行…

计算机技能高考素材,高中作文万能通用素材 2021高考必备作文素材

在平时的时候,多积累一些作文素材,有助于语文的写作!下面不妨和高三网小编一起来了解下关于2021高考必备作文素材,希望这些素材能帮助我们在作文中有更好的发挥。 高中作文万能通用素材:由“提笔忘字”谈汉字传承 曾几…

四级英语图表作文真题计算机,2016年四级作文模板之图片与图表

2016年四级作文模板之图片与图表 英语四六级考试改革之后,图画作文考的比较多,无论是图画作文还是主题作文,下面的结构是可以通用的,考生可以重点记下图画作文与主题作文的句型。 一、看图作文模板 第一段:简要描述图画…

个人仿制android QQ、android大作业

仿制android QQ说明 app下载地址:http://download.csdn.net/download/h18733517027/10258434 服务器下载:http://download.csdn.net/download/h18733517027/10258435 说明下载:http://download.csdn.net/download/h18733517027/10258480 …

仿写App,如何获取app内的图片资源?以安卓机为例

​ 获取到App的apk包 有些安卓手机中,长按该app图标,会有个弹窗,弹窗里有分享按钮, 分享出去的就是一个apk包 修改后缀 把apk包的后缀名改为.zip 解压zip包 使用解压工具,解压zip包,会获得该app内的所…

豁然开朗篇:安卓开发中关于内存那些事

你所写的每一句代码,在内存里是怎么分布的,搞清楚这个问题,你对编程的理解又上升到一个高度了 前言 首先,如果对于java虚拟机的内存划分不清楚的同学,可以先去了解一下java虚拟机把java程序加载到内存以及内存的分布是…

基于Android的背单词软件【源码+文档+答辩PPT】

目录 1、关于本课题 2、开发平台 3、系统分析 3.1 国外安卓应用发展的现状 3.2 国内安卓应用发展的现状 3.3 系统构建目标分析 3.4 系统构建功能分析 3.4.1 系统的总体架构 3.4.2 系统功能模块 3.4.3 应用功能规划图 4、系统设计 4.1 前台背单词展示子系统详细设计 …

自动驾驶:硬件平台

自动驾驶的研发流程 大致可以分为以下4个步骤: 软件在环 软件在环是基于仿真和模拟的软件仿真,类似于赛车类游戏。即是在软件系统里仿真模拟出真实的道路环境如光照、天气等自然环境,开发者可将自动驾驶代码开发完毕后,在仿真系…

自动驾驶(五十)---------Gtest测试

本文将介绍单元测试工具Google Test(GTest)在Linux操作系统中测试环境的搭建方法。本文属于Google Test使用的基础教程。在Linux中使用Google Test之前,需要对如下知识有一些了解: C/C编程方法 makefile的编写 Linux命令行操作 GT…

BEV感知:BEVDet

自动驾驶:BEVDet IntroductionMethodoloData AugmentationNetwork StructureScale-NMS 实验 Introduction 作者通过现有的算法(LSS)、独特的数据增强方案与新的NMS方案整合了一个BEV框架(BEVDet)。 如下图&#xff1a…