Bbili-open-mcpMCP
★

直播间消息websocket协议

protocol#44长连说明

1. 发送AUTH包#

弹幕服务器连接成功后,客户端首先发送一个Proto包,Operation字段置为OP_AUTH,Body字段为连接字符串,格式为json。

2. 发送心跳#

  • 频率30s。
  • body为空即可。

协议格式:(基于websocket之上的应用层协议,所有字段 大端 对齐)。

协议

  • Packet Length:整个Packet的长度,包含Header。
  • Header Length:Header的长度,固定为16。
  • Version:
    • 如果Version=0,Body中就是实际发送的数据。
    • 如果Version=2,Body中是经过压缩后的数据,请使用zlib解压,然后按照Proto协议去解析。
  • Operation:消息的类型:
名称值解释说明
OP_HEARTBEAT2客户端发送的心跳包(30秒发送一次)
OP_HEARTBEAT_REPLY3服务器收到心跳包的回复
OP_SEND_SMS_REPLY5服务器推送的弹幕消息包
OP_AUTH7客户端发送的鉴权包(客户端发送的第一个包)
OP_AUTH_REPLY8服务器收到鉴权包后的回复
  • Sequence ID:保留字段,可以忽略。
  • Body:消息体,客户端解析Body之前请先解析Version字段。
  • body的内容一般是json格式,里面一条广播消息称为cmd:

Version=2时,zlib压缩后的body格式可能包含多个完整的proto包(可以理解为递归)。

proto


原始文档:044_直播间消息websocket协议.md(1585 字节)。用 bili_docs_get { "ref": "44" } 读全文,用 bili_docs_search { "query": "…" } 检索。