Java仿QQ聊天系统Eclipse+MySql实现

qq聊天项目使用简介:

通过之前的java学习,写了一个仿QQ的聊天程序,主要实现的功能有注册、登录、好友列表、发送文字、图片、文件、表情。

项目环境配置

  1. 软件开发工具:eclipse
  2. 项目结构:客户端/服务器结构

功能实现:

a. 登录注册
b.可与不同好友在线聊天
c.群聊
d. 能够实时显示聊天记录
e.修改资料

实现效果:

服务器界面
Java仿QQ聊天系统Eclipse+MySql实现_第1张图片
登录界面
Java仿QQ聊天系统Eclipse+MySql实现_第2张图片
注册界面
Java仿QQ聊天系统Eclipse+MySql实现_第3张图片
登录到主界面
Java仿QQ聊天系统Eclipse+MySql实现_第4张图片
Java仿QQ聊天系统Eclipse+MySql实现_第5张图片
当一方发送消息时对方会弹出提示框
Java仿QQ聊天系统Eclipse+MySql实现_第6张图片
表情及图片的发送
Java仿QQ聊天系统Eclipse+MySql实现_第7张图片

数据库用户文件
Java仿QQ聊天系统Eclipse+MySql实现_第8张图片

此项目包含服务器端和客户端:

1. 服务器端的任务:
         服务器端应当创建一个ServerSocket对象,而且需要一直进行侦听是否有Client端连接或者断开连接。Server端应该是一个发送信息的核心,所有Client端的消息都会被传到Server端,由Server端根据要求进行分发信息,以上就是服务器端最主要的两个任务。不难看出,服务器端的任务并不是很复杂。

2. 客户端的任务:
         客户端应该完成的工作包括:与Server端建立通信信道,向Server端发送消息,接收来自服务器的信息。相对服务器而言,客户端的任务更加的简单化,有了以上的简单分析,可以知道,解决了上述的四个问题,即完成了该聊天系统的核心。

客户端包含以下主要功能:

用户的注册、用户的登录、、好友列表、群列表、聊天记录的查看、私聊、群聊、发送文件、图片等。

服务器端完成以下主要功能:

建立连接、操作数据库和监听客户。

        客户端和服务器必须保持随时随地的连接。这有别于普通Web浏览的连接方式,在使用浏览器对服务器进行访问时,应该先由客户端发出HTTP协议,然后服务器响应处理这个客户端的响应,再返回处理结果,请求(Request)和响应(Response)是一种一对一的前后因果关系。而在基于Socket的聊天系统中,客户端发出聊天信息的同时,客户端也在接受服务器发送过来的其他人的聊天信息。因次可以发现,请求和响应不存在那种前后对应的关系,是两种分别独立进行的进程。因为服务器任何时候都可能发送信息到客户端。因此,客户端和服务器一旦进行建立连接,必须得让服务器在以后发送中寻找并定位到这个连接。在速度性能方面,聊天系统提出了更高的要求。在网络连接的薄弱环节I/O通信方面,要求能够实现无堵塞地、流畅地数据读写。在面对几百个甚至更多的客户端同时发出连接信息的情况下,服务器要求能够保持高性能的并发处理机制,迅速地完成这几百个并发请求的处理和发送任务。

总结:

  • 本代码是跟着GitHub大佬的代码做的,所以大部分图片也都是这位大佬的素材,最开始,很多东西我不能理解,最终都是自己一点点摸索出来,虽然有很大部分功能并未实现,但值得一学习,感兴趣的朋友在我的百度网盘下载源码,附带数据库文件!https://pan.baidu.com/s/1av0YQXISOFRuFa481ceGKw

-下载地址

有什么问题或者建议欢迎在下方留言!

你可能感兴趣的:(java基础学习)