WuKongIM Docs

数据包类型

查阅 WKProto FrameType 值、方向、核心字段和当前发布范围。

编辑此页报告文档问题

FrameType 位于固定 Header 的高四位。UNKNOWN=0 是保留值,不能发送;枚举存在也不代表产品 Gateway 已支持该包。

WKProto FrameType 值、方向与发布范围
值 / 名称方向范围说明
0 · UNKNOWN保留Wire 保留值;不得发送,也不进入产品处理。
1 · CONNECT客户端 → 服务端公共核心必须是连接上的唯一首包。
2 · CONNACK服务端 → 客户端公共核心返回连接结果和会话材料;v4+ 请求另带协商版本。
3 · SEND客户端 → 服务端公共核心提交一条 Channel 消息。
4 · SENDACK服务端 → 客户端公共核心关联 SEND 并返回协议结果。
5 · RECV服务端 → 客户端公共核心向当前 Session 投递一条消息。
6 · RECVACK客户端 → 服务端公共核心确认客户端处理了指定 RECV。
7 · PING客户端 → 服务端公共核心刷新入站活动并请求 PONG。
8 · PONG服务端 → 客户端公共核心无正文的 PING 响应。
9 · DISCONNECT客户端 ↔ 服务端仅编解码双向 codec 合同;当前产品 Gateway 未发布客户端入站或服务端发送语义。
10 · SUB客户端 → 服务端仅编解码存在编解码器;当前产品 Gateway 入站未支持。
11 · SUBACK服务端 → 客户端仅编解码SUB 的编解码响应;当前产品入口未发布。
12 · EVENT客户端 ↔ 服务端保留当前产品 Gateway 仅用于 benchmark terminal-fence 请求与确认;不是应用事件 API。

核心字段

正文字段
CONNECTversionclient_keydevice_iddevice_flag、毫秒时间戳、uidtoken
CONNACKv4+ 请求的协商版本、server_keysalt、时间差、Reason Code、v4+ node_id
SENDSetting、32 位 Wire client_seqclient_msg_no、Channel、v3+ expiremsg_key、可选 Topic、Payload
SENDACKmessage_idclient_seqmessage_seq、Reason Code、可选 client_msg_no
RECVSetting、msg_key、发送者、Channel、v3+ expireclient_msg_nomessage_idmessage_seq、秒级时间戳、可选 Topic、Payload
RECVACKmessage_idmessage_seq
PING / PONG无正文;整个包只有一个固定 Header 字节

协议 v5 及以下使用 32 位 message_seq,v6 使用 64 位;client_seq 的 Wire 宽度始终为 32 位。当前编码器限制 SEND Payload 最多 32767 字节;解码器拒绝 remaining length 超过 1 MiB 的帧。

固定 Header 与 Setting 位见 Message Flags,设备值见 Device Flag,Channel 数值见 Channel Type,结果见 Reason Code

不要使用未发布的包

当前产品 Gateway 不接受普通 DISCONNECTSUB 或任意 EVENT 入站;EVENT 只用于 benchmark terminal-fence。UNKNOWN=0 不进入产品处理;未知数值、畸形帧或已解码但未发布的包通过协议错误、处理器错误或有界超时 fail closed。

本页内容