为了检测自己的Java学习情况,以及完成实验室的任务,自己设计完成一个仿QQ的聊天室项目。
参考构思博客:参考博客
项目点要求
- 支持文字信息发送接收
- 支持图片发送接收
- 支持文件发送接收
- 支持表情发送接收
- 支持常用语发送接收
- 支持语音发送接收
- 支持邀请加入群聊
- 添加好友、群聊(显示群成员加入与退出消息,退群管理员有提示)
- 聊天记录
- 列表中搜索好友
- 用户注册(需验证)
- 用户登录
1~6都是通过I/O实现,
7未知…
8~12目测是数据库相关操作
基本思路
使用C/S架构,利用多线程,I/O,网络编程等主要知识实现可进行私聊和群聊的同时接受发送信息的聊天室。
写项目流程
第一步:核心功能的实现
先根据所学知识以及百度寻找博客等资料,实现私聊与群聊的功能。完成基础的输入输出字符串流。
客户端用两个线程,一个用来接收信息,一个用来输出信息。
服务器端也是用两个线程,一个用来接收信息,一个用来输出消息。通过消息的辨别来区分群聊与私聊。
服务器端与数据库连接,提供注册登录功能,以及传递信息的功能。
在客户端传递信息给服务器端时,服务器端辨别是群聊消息还是私聊消息,从而进行不同的操作。
第二步:添加功能
添加实验室所要求的项目功能实现。根据不同的需要用不同的输入输出流处理图片与文件等。
(利用I/O流添加功能)
参考QQ,一个图标应用一种输入输出流。(图片、文件、语音等)
将常用语、表情等存入数据库,从而可以便捷的调用。
第三步:连接数据库
把核心功能实现之后建立数据库,保存用户信息,连接之前写的登录注册功能。
第四步:Debug与优化
检查是否可以优化,或者是否有致命bug存在。
第五部:创建GUI
美化,披一层外壳(利用Javafx)。
主要考察知识点
知识点: I/O、多线程、TCP、Javafx、数据库的连接与修改……
难点: I/O、TCP、数据库。