仿QQ聊天系统(JAVA+MySQL)
摘 要
仿QQ聊天系统是基于MySQL数据库开发工具进行设计,理论研究与实践相结合,利用计算机技术、数据库技术,java技术等对腾讯QQ聊天系统的开发设计进行研究
以JAVA技术为核心,利用计算机局域网通信机制原理(例如TCP/IP协议、客户端/服务器端模式(C/S模式)、网络编程设计方法等)完成了一款适合局域网的仿QQ聊天系统。该系统主要由一个聊天服务器端程序和一个聊天客户端程序两块组成。前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来的信息,并能刷新用户列表;后者通过与服务器建立连接来进行客户端与客户端的信息交流。经测试,系统工作性能稳定,基本能达到聊天功能,并实现了部分附加功能
QQ聊天系统不仅是对不但成为人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台。
1. 需求分析
1.1需求背景
即时通信软件为我们提供了诸多的方便,使我们逐步享受信息时代的便捷。大家最熟悉的即时通信软件就是QQ了,因为它几乎已经融入了我们每个人的日常生活。没有了QQ,没有了手机,我们或许真的“活不了了”。由此可见,生活在信息时代的人们对即时通信、聊天软件有巨大的需求,这样的软件也将为我们节省大量的时间和金钱,或许还能成为我们发家致富的工具,比如:产品的推介、售后服务及技术交流等。
然而,既然已经有了QQ如此强大的即时通信软件,我们再去做这样的软件还有什么竞争力吗?QQ已经深入人心,要想再去做可能没有任何竞争力。此时,我们可以换一个角度,调整用户对象。如今,企业内部信息在这个信息时代就是金钱,尤其是一些大企业的内部信息,如果这些信息泄露,可能会造成巨大的经济损失,甚至将导致企业破产。但是,为了便捷企业员工之间的交流,做这样的一个企业内部即时通信、聊天软件还是很有市场的。我们的目标就是做的像QQ,但面向企业内部使用。
企业内部为了方便员工之间便捷的交流,需要开发一款适合企业内部员工进行即时通信的软件,这样的软件既满足了企业内部员工之间便捷的交流,同时,也防止企业内部信息的外流,开发这样一块面向企业内部的即时通信软件,对于企业来说获益良多。
在开发这款软件时,为了使习惯了使用QQ的用户,更加方便的使用本软件,我们将很大程度上,模仿QQ的用户界面设计,以适应用户的使用习惯,方便用户使用。
1.2功能需求
1)客户端:提供登录、主窗体及聊天等界面及对应的业务逻辑,向服务器发送相应的服务请求,并接受相应的处理结果。客户端是轻量级的软件,只负责链接远程服务器,并发出相应的服务请求,并不进行核心业务逻辑的处理。具体的处理交给服务器,而客户端只接收服务器处理的结果并显示给用户。
2)服务器:监控登录信息及在线用户信息,接收客户端的服务请求,并做相应的处理,然后将处理结果发送给客户端。服务器负责处理核心的业务逻辑,并负责连接数据库,保存和读取数据。因此,服务器端设计的好坏也直接影响即时通信软件的质量。
1.3开发环境
运行环境:eclipse集成开发环境,jdk 1.8版本。
使用语言:Java语言。
使用数据库:MySQL数据库。
使用服务器:tomcat7.0。
2. 总体设计
2.1功能模块设计
1)客户端
图2.1客户端功能模块图
2)服务器端
图2.2服务器端功能模块图
2.2 数据库设计
1)数据字典
用户信息表(users)
群关系表(user_group)
字段名 数据类型 主键 外键 自增 说明
No Int(2) 1 关系编号
G_no Int(5) 群号
Qq Int(5) QQ号
群信息表(groupinfo)
字段名 数据类型 主键 外键 自增 说明
G_no Int(2) 1 群号
G_name Varchar(10) 群名称
G_date date 创建日期
2)E-R图
图2.3数据库E-R图
2.3设计模式
1)中介者模式:
所有的用户都通过服务器进行通信,服务器其中介的作用。
2)Dao模式
把底层的数据访问逻辑和高层的商务逻辑分开.
2.4网络设计
图2.4基于网络的三层C/S模式
1) JDBC(Java DataBase Connectivity): 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
2) 网络协议:TCP/IP&UDP
程序效果:
本程序实现了单人聊天和群聊,懒导致群聊窗口没写
源码地址:https://download.csdn.net/download/siyi__/10498161
仿QQ聊天系统(JAVA+MySQL)相关推荐
- Java仿QQ聊天系统Eclipse+MySql实现
qq聊天项目使用简介: 通过之前的java学习,写了一个仿QQ的聊天程序,主要实现的功能有注册.登录.好友列表.发送文字.图片.文件.表情. 项目环境配置 软件开发工具:eclipse 项目结构:客户 ...
- 复习Java第二个项目仿QQ聊天系统 01(界面部分) Java面试题Redis的过期策略和内存淘汰策略生活【记录一个咸鱼大学生三个月的奋进生活】023
记录一个咸鱼大学生三个月的奋进生活023 复习Java(仿QQ聊天系统01界面部分) 设置背景(ImgPanel)类 登录界面(LoginFrame)类 注册界面(RegisterFrame)类 好友 ...
- 复习Java第二个项目仿QQ聊天系统 03(两种通信类、登录以及注册功能完善) Java面试题并发编程相关知识生活【记录一个咸鱼大学生三个月的奋进生活】025
记录一个咸鱼大学生三个月的奋进生活025 复习Java(仿QQ聊天系统03两种通信类.登录以及注册功能完善) TcpSocket类(与服务器进行通信) Server类(服务器类) TcpMessage ...
- linux课程设计QQ聊天带界面,仿QQ聊天系统课程设计解析.doc
仿QQ聊天系统课程设计解析 目录 绪论1 一.需求分析1 1.1软件功能需求分析2 1.2 安全需求分析2 二.总体设计3 2.1 软件结构图3 2.2 功能描述3 2.2.1注册功能概要4 2.2. ...
- 视频教程-网络聊天室Java基础版(Socket_Swing编程)仿QQ聊天-Java
网络聊天室Java基础版(Socket_Swing编程)仿QQ聊天 IT行业资深从业者,7年资深Java高级开发,Java架构师.曾就职银行.电信等行业多家上市公司.担任项目负责人,软件架构师.有丰富 ...
- 仿qq空间java源码_android 发说说动态源码下载(高仿QQ空间,含图片多选)
[实例简介]仿qq发动态,图片发布效果 [实例截图] [核心代码] package com.king.photo.activity; import android.annotation.Suppres ...
- java 实现 仿QQ聊天系统 简易地实现 网络 在线聊天 代码详解(附源代码)
首先,实现的效果如下图: 这是一个非常经典的例题,几乎在每本程序语言入门书中都会涉及到一部分原理的讲解.我在这里简单地介绍一下代码的实现,让刚学习网络编程的读者更好的理解和实现,二来加深自己的记忆. ...
- java仿qq聊天系统 多人聊天室
目录 项目介绍 项目截图 服务器与客户端 新用户注册 注册新账号成功 进入聊天室 多人在线 选择发送文件 文件接收提醒 项目代码参考 服务器入口程序 服务器请求处理 原理解析 服务器多人网络连接: 如 ...
- [开题报告+论文+源码]基于Android仿QQ聊天系统
课题名称: 基于Android的网络聊天软件的设计与实现 1.本课题所涉及的问题在国内(外)的研究现状综述 随着科技的发展手机作为一种非常重要的通讯工具,其功能越来越强大,相对于电视.互联网等方式.手 ...
最新文章
- 关于整合spring+mybatis 第三种方式-使用注解
- 监控操作系统和服务器,LoadRunner如何监控不同操作系统的服务器?
- 巧用linux版powershell,管理linux下的docker
- 发送请求_发送soap请求调用WSDL
- 基于CSS3实现元素宽度向两侧延伸
- sql server版本 性能_迁移到高版本 SQL 数据库后,性能变差了
- Hadoop生态系统常用组件导图
- 思科交换机(cisco)开启802.1x认证
- 推荐的Python电子书资源
- 为什么别人可以打开的网站,你却打不开?原因找到了 ,HTTP ERROR 404
- 软件架构设计---软件架构风格
- 【FNN分类】基于粒子群结合引力搜索算法优化前向反馈神经网络实现数据分类附matlab代码
- ViewPager(六)让ViewPager用起来更顺滑——设置间距与添加转场动画
- 关于谷歌浏览器的禁止autoplay政策 - Kaiqisan
- Java代码审计——WebGoat CSRF (上)
- 编写和部署智能合约:智能合约工具、remix、Truffle
- Win7通过无线网卡共享本地网络,开启WiFi热点以及关闭WiFi热点
- 亚马逊美国站12岁以下儿童产品 CPSIA测试标准
- echarts 飞线、轨迹图与地方地图联动
- 洛谷P4799 [CEOI2015 Day2] 世界冰球锦标赛 题解
热门文章
- 最详细Vuex教程(超详细)-基本使用
- 虫师python appium自动化测试书_Selenium3自动化测试实战(基于Python语言)
- 出门在外,我却被前妻坑成了「老赖」!
- 学会了这个配音方法,我的视频居然成了热门爆款
- 计算机等级考试数据库三级模拟题5
- 深入Windows开发--WM_USER、WM_APP、RegisterWindowMessage
- 【MATLAB教程案例13】基于SA模拟退火优化算法的函数极值计算matlab仿真及其他应用
- Android MediaPlayer播放视频详细步骤
- 非常带感的武汉周边一日游行政主管提示你这封作品暗藏玄机
- (附源码)php校园二手交易网站 附源码041148