聊天室总结
刚开始知道要写这个项目的时候,一点思路都没有,之前从来就没有写过这一类的项目.学了 网络编程后 才开始有一点思路.
基本思路:
- 客户端 和 服务器 一共采用多个结构体 打包传输 ,每个结构体的 前 四个字节都是一个 flag. 服务器 和 客户端每次判断 buf 中的 前 四个字节去 执行相应的操作.
- 服务器 采用epoll 监控 对应的事件.
- 客户端 采用两个线程 一个线程负责处理 , 一个线程负责 接受数据.
- 服务器采用数据库对数据进行保存.
项目实现的需求:
基本要求:
1.帐号管理:
登录
注册(防止重复登录、防止重复注册、不显示密码内容)
密码加密
找回密码
好友管理:
添加好友(必须通过好友同意)
删除好友
查看好友列表(显示好友状态)
2. 聊天通信:
私聊(必须保证不在对方的黑名单里,实时显示)
群聊
查看聊天记录
离线消息
屏蔽某人消息
3.群管理:
创建群
加群
退群
查看已加群,查看群成员
解散群(群主才有的权限)
设置管理员
踢人(群主或管理员拥有的权限)
4.传送文件
发送文件和接受文件(考虑大文件,视频,图片,ppt,pdf)
5.离线传输