CSU-OSA Chatting Room (server)
CSU-OSA 聊天室(服务端)
该版本为重构后的早期架构, 含大量需修补的内容(代码规范 边界条件)
该版本使用Socket连接, 传输二进制数据(Google Protobuf编码). 目前仍使用类Http的无状态通信, 新消息的获取需要轮询服务端.
注意: 非稳定版本, 服务端可能仍然存在隐形bug. 如果遇到任何问题, 欢迎在issue里提出.
每一个接口都对应一条指令, 同时也对应一个RequestPOJO数据传输对象. RequestPOJO数据传输对象需指定指令类别, 并附加需要的信息内容, 具体定义见/src/proto/Request.proto
.
LOGOUT
: 退出用户的登录并清除所有信息JOIN_CHA
: 携带频道名称&频道ticket&昵称, 加入该频道QUIT_CHA
: 携带频道名称, 退出该频道CREATE_CHA
: 携带频道名称&频道ticket&昵称, 创建该频道并加入SENDMSG
: 携带频道名称&发送内容, 向该频道发送信息GETMSG
: 拉取用户在所有频道内的新消息HEARTBEAT
: 发送心跳包(检测间隔10s)VERSION
: 获取服务端版本和API版本信息GET_CHANNEL_LIST
: 获取频道列表
返回值的数据传输对象定义位于/src/proto/Response.proto
, 当前仅包含简单的操作状态返回值&消息列表返回值&频道列表返回值.
"官方"客户端: ChattingRoom-client, 由OctAutumn基于Qt(Cpp)框架编写
/src/proto/
下的批处理文件用于编译生成Google Protobuf
类(服务端及测试客户端).
运行前请确保你安装了protobuf
库
pip install protobuf