Skip to content

Latest commit

 

History

History
31 lines (19 loc) · 1.13 KB

protocol.md

File metadata and controls

31 lines (19 loc) · 1.13 KB

雀魂协议

雀魂使用websocket通信,内容非常简单。


首字节

通信数据的第一个字节是通信类型,有三种,其中客户端一种服务端两种:

客户端

  • 首字节0x02代表类型为请求(req),即向服务器发送请求

服务端

  • 首字节0x01代表类型为通知(notify),即服务器给客户端推送的通知
  • 首字节0x03代表类型为响应(res),即服务器响应客户端的请求

请求和响应编号

websocket与http不同,请求和响应需要额外定义编号才能一一对应。
通信类型为请求或响应的时候,第二三字节为一个2字节整数(0x00~0xff),代表请求编号,使用网络字节序。第四个字节开始为正文数据。
注意:通信类型为通知的时候,没有这两个字节,从第二个字节开始就是正文数据。


正文数据

正文数据使用了protobuf协议数据(由Google发明,用于改善json的效率,可以和json互相转换)
从雀魂浏览器端中找到liqi.json文件,使用protobuf类库即可将正文数据转换为可读的json数据。