mirror of
https://github.com/jie65535/IM.git
synced 2024-07-27 19:05:11 +08:00
60 lines
2.7 KiB
C
60 lines
2.7 KiB
C
#ifndef PROTOCOL_H
|
||
#define PROTOCOL_H
|
||
|
||
/************************************************
|
||
* IM通讯协议规定
|
||
*
|
||
* 功能码 [参数]
|
||
*
|
||
* 客户端功能码规定: 参数: 例子: 说明:
|
||
* 1 = 请求登录 用户昵称 1 张三 当客户端登录时必须先发送这条命令,告诉服务端自己的昵称
|
||
* 2 = 发送私聊消息 私聊对象 消息内容 2 李四 你妈喊你回家吃饭 当A向B发送一条私聊消息时,A要向服务器发送这条指令,告诉服务器消息发给谁和发什么消息
|
||
* 3 = 发送群聊消息 消息内容 3 大家好,我是张三 当A向群聊发送一条消息时,直接告诉服务端需要发什么内容即可
|
||
*
|
||
* 服务端功能码规定: 参数: 例子: 说明:
|
||
* 1 = 发送私聊消息 用户昵称 消息内容 1 张三 你妈喊你回家吃饭 当A向B发送一条私聊消息时,B会收到这条指令,其中昵称是指A(发送者)的昵称
|
||
* 2 = 发送群聊消息 用户昵称 消息内容 2 张三 大家好,我是张三 当A向群聊发送一条消息时,所有人都会收到这条指令,其中昵称是指A(发送者)的昵称
|
||
* 3 = 某人上线 用户昵称 3 张三 当A上线时,所有人都会收到这条指令,其中昵称是A(上线者)的昵称
|
||
* 4 = 某人下线 用户昵称 4 张三 当A下线时,所有人都会手套这条指令,其中昵称是A(下线者)的昵称
|
||
* 10 = 登录结果 是否成功(0:成功,!0:失败) [当前在线人数] [当前在线人员列表]
|
||
* 成功时 10 0 4 张三 李四 王五 赵六 当客户端发送登录请求后,如果登录成功则返回当前在线人数与昵称列表,如果失败就返回一个!0值
|
||
* 失败时 10 1
|
||
*
|
||
***********************************************/
|
||
|
||
/**
|
||
* @brief 服务端功能码
|
||
*/
|
||
enum ServerFunctionCode {
|
||
// 私聊消息
|
||
PrivateMessage = 1,
|
||
|
||
// 群聊消息
|
||
GroupMessage = 2,
|
||
|
||
// 用户上线
|
||
UserOnline = 3,
|
||
|
||
// 用户下线
|
||
UserOffline = 4,
|
||
|
||
// 登录结果
|
||
LoginResult = 10
|
||
};
|
||
|
||
/**
|
||
* @brief 客户端功能码
|
||
*/
|
||
enum ClientFunctionCode {
|
||
// 登录
|
||
Login = 1,
|
||
|
||
// 发送私聊消息
|
||
SendPrivateMessage = 2,
|
||
|
||
// 发送群聊消息
|
||
SendGroupMessage = 3
|
||
};
|
||
|
||
#endif // PROTOCOL_H
|