init
This commit is contained in:
BIN
docs/goim-arch.png
Normal file
BIN
docs/goim-arch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
63
docs/proto.md
Normal file
63
docs/proto.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# comet 客户端通讯协议
|
||||
|
||||
`comet` 支持两种协议和客户端通讯 `websocket`,`tcp`。
|
||||
|
||||
**请求URL**
|
||||
|
||||
```
|
||||
ws://DOMAIN/sub/
|
||||
tcp://DOMAIN
|
||||
```
|
||||
|
||||
**协议格式**
|
||||
|
||||
二进制,请求和返回协议一致
|
||||
|
||||
**请求&返回参数**
|
||||
|
||||
| 参数名 | 必选 | 类型 | 说明 |
|
||||
| :----- | :--- | :--- | :--- |
|
||||
| package length | true | int32 bigendian | 包长度 |
|
||||
| header Length | true | int16 bigendian | 包头长度 |
|
||||
| ver | true | int16 bigendian | 协议版本 |
|
||||
| operation | true | int32 bigendian | 协议指令 |
|
||||
| seq | true | int32 bigendian | 序列号 |
|
||||
| ack | true | int32 bigendian | 确认号 |
|
||||
| body | false | binary | $(package lenth) - $(header length) |
|
||||
|
||||
## 指令
|
||||
| 指令 | 说明 |
|
||||
| :----- | :--- |
|
||||
| 1 | 客户端连接认证 |
|
||||
| 2 | 客户端连接认证响应 |
|
||||
| 3 | 客户端请求心跳 |
|
||||
| 4 | 服务端心跳答复 |
|
||||
| 5 | 客户端断开连接 |
|
||||
| 6 | 客户端断开连接响应 |
|
||||
| 7 | 客户端发送消息 |
|
||||
| 8 | 客户端发送消息响应 |
|
||||
| 9 | 客户端接收消息 |
|
||||
| 10 | 客户端接收消息响应 |
|
||||
| 14 | 多端同步指令(未使用) |
|
||||
| 15 | 多端同步指令响应(未使用) |
|
||||
|
||||
|
||||
### 连接认证
|
||||
|
||||
operation 为 1 时, body 必须可以反序列化为 AuthMsg
|
||||
|
||||
```
|
||||
message AuthMsg {
|
||||
string appId = 1;
|
||||
string token = 2;
|
||||
bytes ext = 3; // 其它业务方可能需要的信息
|
||||
}
|
||||
```
|
||||
|
||||
operation 为 15 时, body 必须可以反序列化为 SyncMsg
|
||||
```
|
||||
message SyncMsg {
|
||||
int64 logId = 1;
|
||||
}
|
||||
```
|
||||
具体协议参考 `api/comet/grpc/comet.proto` 和 `api/logic/grpc/comet.proto`
|
||||
Reference in New Issue
Block a user