Posts
《游戏服务端编程实践》3.3.1 消息头与命令号设计
一、消息的层级结构概念 在网络通信中,一条消息一般由两部分组成: ┌──────────────────────────────────────
read more
Posts
《游戏服务端编程实践》3.2.3 序列化性能与内存占用对比
一、测试设计与评估目标 1.1 测试目的 游戏服务器的通信层常在高并发场景下运行, 每个包的序列化性能对整体吞吐率(QPS/TPS)有直接影响。 目标: 比
read more
Posts
《游戏服务端编程实践》3.2.2 JSON、MsgPack、Cap’n Proto
一、序列化的多样化背景 游戏服务器不仅在实时战斗中传输高频数据,还涉及: 登录认证(跨语言接口) Web 管理 / GM 工具(HTTP 接口) AI 模块(Pytho
read more
Posts
《游戏服务端编程实践》3.2.1 Protobuf 与 FlatBuffers
一、序列化的意义:从内存结构到可传输字节 在网络通信中,我们需要把“内存对象”转换为“字节流”: graph LR A[结构体 / 对象] -->|序列化| B
read more
Posts
《游戏服务端编程实践》3.1.3 延迟与丢包问题分析
一、引言:网络不稳定的必然性 无论游戏服务器多强大、协议多先进, 只要玩家使用移动网络或 Wi-Fi,就无法避免以下问题: 问题 表现 原因 延迟高 技能释
read more
Posts
《游戏服务端编程实践》3.1.2 游戏中的连接保持与心跳机制
一、引言:为什么游戏必须要“心跳” 网络连接就像一条“虚拟电缆”,但它并不是永远稳定的。 在游戏运行中,你可能遇到: 玩家在地铁、Wi-Fi 与 4G 之
read more
Posts
《游戏服务端编程实践》3.1.1 TCP / UDP / WebSocket 对比
一、引言:游戏通信的本质是“实时性 + 一致性”的平衡 在游戏开发中,通信协议决定了“游戏世界如何同步”。 它不仅仅是“传输数据”,而是塑造了整个游
read more
Posts
《游戏服务端编程实践》2.3.4 Rust Tokio + Actix
一、引言:Rust 的异步哲学 Rust 在系统层面提供了三件武器: 零成本抽象(Zero Cost Abstraction) 所有权系统(Ownership & Bor
read more
Posts
《游戏服务端编程实践》2.3.3 Skynet(Lua)
一、引言:为什么 Skynet 能成为游戏后端事实标准 在中国游戏行业,Skynet 被广泛应用于: MMO / SLG / 卡牌游戏; 即时战斗 / 聊天 / 世界服; 自研分布式框架的
read more
Posts
《游戏服务端编程实践》2.3.2 Go net/http + goroutine
一、引言:从异步回调到同步语义 在 Java/Netty 世界,开发者必须处理: Selector; Pipeline; Future; Callback。 这让程序高度异步
read more
Posts
《游戏服务端编程实践》2.3.1 Netty(Java)
一、引言:Netty 的定位与价值 Netty 是一个基于 Java NIO 的高性能网络通信框架,最早由 JBoss 社区在 2008 年推出,目前由 Netty 项目组维护(io.netty)。 它的目
read more
Posts
《游戏服务端编程实践》2.2.3 线程池与任务分发策略
一、引言:为什么需要线程池? 在多线程或协程系统中,创建线程的成本极高: 操作系统线程的创建需要: 分配内核栈; 注册到调度器; 上下文切换; TLB flu
read more