聊天室项目(一)-展示

聊天室功能展示

聊天室要求:

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需要完善,后续会继续改进这个项目

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

小漓、

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值