| 文档 | 用途 |
|---|---|
| protocol.md | 客户端 / 服务端 TCP 对接协议(命令、字段、错误码) |
| ../server/sql/init.sql | 新库建表 |
| ../server/sql/migrate.sql | 已有库升级 |
| 客户端 | 命令 |
|---|---|
| 登录 | Account / Login(2) |
| 注册账号 / 获取验证码 | Account / SendCode(6) → Register(5) |
| 忘记密码 | Account / SendCode(6) scene=reset → ResetPassword(7) |
| 修改密码 | Account / ChangePassword(8) |
| 退出登录 | Account / Logout(3) |
| 消息列表 | Message / ConvList(10) |
| 打开会话 / 历史 | Message / MsgHistory(11) |
| 发送 | Message / Chat(4),收消息看推送 ChatNotify(100) |
| 聊天图片/文件 | Message / PutFile(29) 取 COS 临时 token → 客户端直传 COS → Chat(4) msg_type=3;下载 GetFile(30) 或 CDN |
| 好友列表 | Friend / FriendList(9),在线变化看推送 PresenceNotify(104) |
| 搜索/添加好友 | Friend / SearchUser(14) → AddFriend(12),对方 HandleFriendRequest(16) |
| 隐私设置 | Account / GetPrivacy(17) SetPrivacy(18) |
| 表情包 | Sticker / StickerPackList(19) StickerPack(20) GetSticker(21),发消息 msg_type=2 |
| 心跳 | System / Heartbeat(1) |
| 被挤下线 | System 推送 Kicked(101) |
cd server
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release && cmake --build .
./server --init-db ../config/config.ini # 首次:建库建表后启动
./server ../config/config.ini # 之后直接启动
监听地址、包长、MySQL、验证码回显见 server/config/config.ini。[sms] echo_code 联调可保持 1,生产改为 0。
客户端按上表对接:登录用 uid,会话/好友/消息走 ConvList、FriendList、MsgHistory、Chat,收消息处理 ChatNotify,被踢处理 Kicked。