聊天室功能展示
聊天室要求:
1 . 项目简述
实现Linux环境下的简易聊天室,采用C/S模型,实现多客户端之间的稳定数据传输。可参考QQ、微信功能。
2. 项目需求
功能后的与代表选做,其中代表难度比大。 选做必须选几项
1.账号管理
登录、注册
- 找回密码 *
- 数据加密 *
2.好友管理
私聊(实时性)
好友的添加、删除、查询
查看好友列表
显示好友状态(在线与否)
查看聊天记录
屏蔽好友消息
3.群管理
群聊(实时性)
群的创建、解散(群主才有的权限)
查看已加群、查看群成员
查看聊天记录
设置群管理员
踢人(群主或管理员才有的权限)
- 申请加群、退群
4.发送文件
文件传输
- 断点续传 *
5.离线传输
离线消息,上线及时发送
- 离线文件,上线及时提醒有文件传送 **
6.关于客户端与服务器要求
稳定性
要能处理大量客户端的连接与信息处理、传输
服务器稳定,不会因客户端的意外情况退出
数据正常接受、处理、发送
有容错处理,避免因非法输入导致C/S崩溃
高效性
- 服务器日志,记录服务器的状态信息
- 聊天界面分屏,利用光标的移动对输入和屏幕聊天记录输出的分屏 **
7.相关技术要求
I/O 多路复用(epoll)
mysql
相关文档
- 数据传输可使用cJSON
- 图形化 **
项目展示开始:
1.一注册就成功
2.登录成功
3.加好友
删好友,拉黑好友同理,就不一一演示,在数据库中都能查到,也可以③查看好友列表
4.私聊
在对方给你发私聊时,你的屏幕上会弹出私聊者账号及其内容
之后你需要进入私聊与其聊天
不足之处是私聊没有私聊界面,不够美观
退出私聊输入内置命令:#exit
5.查看聊天记录
私聊时将系统时间,聊天内容存入数据库中,查看时直接查数据库即可
6.传/收文件
- 发文件
输入账号,和文件在本机的绝对路径
这中间会解析文件名,传到服务端就是原本的文件名
此时我们可以看到,服务端已经有传来的一张图片,且已经保存好
- 收文件
收方会有消息告诉有人传文件,待处理
选择接收后,服务端开始向服务器传文件
此时我们可以看到接收者方出现了在源文件名基础上前面多了个‘n’的文件,这时文件传输完毕
这是在本机上测试的,当时联机的时候传文件有问题,后来改了,还没有再联机测试
7.创群(与注册同理 - 群号随机生成)
8.加群就不放图片了,因为没有申请啥的,就直接进了,不太美观
其他群的增删改查都与朋友管理功能类似
9.群聊
和私聊界面差不多,不太美观
10.修改密码
mysql中password表中存着
账号和此账号注册的时间(或上次修改密码时间)
在你要操作修改密码时候,会查看数据库中时间
若至今还没有三个月,则禁止修改
若上次修改时间至今已超过三个月,则修改成功,数据库中时间变为现在系统时间
11.退出
按下退出,退出程序,数据库中该账号状态变为离线状态
到此,聊天室项目展示完毕了,其中还有很多bug需要完善,后续会继续改进这个项目