├── chat_room.h // 存放sqlite函数声明和消息传递结构体
├── client.cpp // 客户端的实现
├── Makefile
├── README.md
├── server.cpp // 服务器的实现
└── sqlite.cpp // 数据库部分的实现
SQLite 是一种嵌入式关系型数据库管理系统(RDBMS),它在一个单一的、自包含的文件中实现了一个完整的、独立的 SQL 数据库引擎。与传统的客户端-服务器数据库管理系统不同,SQLite 不需要一个单独的服务器进程来管理数据库,而是直接将数据库存储在磁盘上的文件中。
sudo apt install sqlite3 libsqlite3-dev
- 系统命令:是以
.
开头的命令,主要用于对当前数据库操作 - 普通命令:是以
;
结尾的命令,主要对数据库中的表进行操作
.open <name> 打开指定数据库
.schema 查看表的结构
.table 列出当前数据库中所有表
.quit 退出数据库
.exit 退出数据库
.help 查看帮助信息
.databases 查看数据库
make
./server <ip> <port>
./client <ip> <port>
- 注册
- 群聊
- 私聊
- 添加好友验证
- 切换聊天
- 用户退出聊天室发送下线消息
- 可以同时登陆同一个帐号
- 添加好友是单向的
- 客户端直接使用Ctrl+C终止client程序会导致用户未改变数据库中state标志,账号无法再次登陆
- 私聊开始时会发送一个空白消息
- 回复发来的私聊消息仍需输入好友ID
- 可以输入错误操作码
- 添加好友验证只有在选择群聊或者私聊后才显示