- 新增 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
21 lines
607 B
C++
21 lines
607 B
C++
#pragma once
|
|
|
|
#include <pybind11/pybind11.h>
|
|
#include <pybind11/stl.h> // 支持 std::vector, std::map 等
|
|
|
|
namespace py = pybind11;
|
|
|
|
namespace netcore {
|
|
|
|
// 打包 TCP 数据包 (JSON body)
|
|
py::bytes make_packet(int msg_type, py::dict body_dict);
|
|
|
|
// 打包 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);
|
|
} |