feat: TCP协议支持protobuf序列化,保留JSON兼容

- 新增 tcp_messages_pb2.py protobuf Python绑定
- msg_handler.cpp: 新增 make_packet_pb/raw bytes打包, parse_packet_raw/raw解析
- archery_netcore.cpp: 注册 make_packet_pb/parse_packet_raw
- network.py: 新增 _use_proto 标志,_make_send_packet/_parse_recv 自动选择proto/JSON
- 登录version加+proto后缀标识proto模式
- protobuf序列化/反序列化失败时自动回退JSON
This commit is contained in:
2026-09-16 09:30:26 +08:00
parent 8457bd29c6
commit c3f1cfdea0
5 changed files with 485 additions and 10 deletions
+9 -2
View File
@@ -7,8 +7,15 @@ namespace py = pybind11;
namespace netcore {
// 打包 TCP 数据包
// 打包 TCP 数据包 (JSON body)
py::bytes make_packet(int msg_type, py::dict body_dict);
// 解包 TCP 数据包
// 打包 TCP 数据包 (raw bytes body, 用于 protobuf)
py::bytes make_packet_pb(int msg_type, py::bytes body_bytes);
// 解包 TCP 数据包 -> (msg_type, body_dict)
py::tuple parse_packet(py::bytes data);
// 解包 TCP 数据包 -> (msg_type, body_bytes) 不做 JSON 解析
py::tuple parse_packet_raw(py::bytes data);
}