Game_Num_Basics_And_Calc

🌐 网络架构与协议 (Network Architecture)

核心理念: 采用 双通道架构。非实时业务 (大厅/养成) 走 HTTP 短连接,实时业务 (战斗/组队) 走 TCP/KCP 长连接。

1. 📡 通信架构 (Communication Channels)

1.1 HTTP 通道 (Lobby & Meta)

1.2 Socket 通道 (Battle & Social)

2. 📝 协议设计 (Protocol Design)

我们统一使用 Google Protobuf (v3) 作为序列化标准。

2.1 消息包结构 (Packet Structure)

所有 Socket 消息包遵循以下头部格式:

struct PacketHeader {
    uint16_t length;    // 包体长度
    uint16_t msg_id;    // 消息ID (映射到具体 Proto)
    uint32_t seq;       // 序列号 (防重放/乱序)
    uint32_t checksum;  // 校验和 (CRC32)
    // Body follows...
};

2.2 Protobuf 定义示例

syntax = "proto3";
package Game.Protocol;

// 登录请求 (MsgID: 1001)
message C2S_Login {
    string account = 1;
    string token = 2;
    string device_id = 3;
    int32 client_version = 4;
}

// 登录响应 (MsgID: 1002)
message S2C_Login {
    int32 error_code = 1; // 0 = Success
    int64 server_time = 2;
    UserProfile profile = 3;
}

3. 🔌 API 接口规范 (API Standards)

3.1 幂等性 (Idempotency)

3.2 错误处理

4. 🛡️ 安全性 (Security)

4.1 认证 (Authentication)

4.2 防重放 (Anti-Replay)

4.3 数据加密