一个更适用于游戏客户端的网络框架
它不是一个网络功能的底层实现,它封装了游戏客户端所需的一些网络特性,让游戏网络的稳定性和体验感更好。并且可以很方便地挂载第三方或者自定义的网络底层模块。
框架面向不同业务层级的功能划分:
- 游戏业务层 — 交给游戏业务开发环节处理
- 游戏网络层 — 框架提供异常检查与处理
- 网络通信层 — 框架提供异常检查与处理
为游戏客户端提供:
- 更好的网络稳定性
- 更好的网络交互体验
网络交互体验
- 支持 UI 反馈回调挂载,接入简单,当网络连接、请求发生异常或等待时,获得更好的交互体验
- 支持多线程请求,避免网络卡顿对 UI 产生影响
- 支持请求异常响应,例如失败后自动重试、手动重试、忽略等
- 支持断线重连,包括自动重连、手动重连
网络质量保障
- 支持 HttpDNS,避免玩家端的 DNS 劫持
- 支持网络异常上报,让开发者了解分布各地的玩家的网络状况
第三方支持
- 支持 HTTP/HTTPS 连接(已实现):预置
Best HTTP (Pro)作为底层;也可挂载自定义或其它第三方 HTTP 模块 - 支持 Socket / 长连接(已实现,内测):预置基于 WebSocket + Pomelo 协议的
PomeloClient;也可挂载自定义或其它第三方长连接模块 - 支持 HttpDNS Provider 插拔:预置橙域实现,工厂预留腾讯、阿里
可插拔设计:框架通过
IHTTPFactory(HTTP 底层)、BaseNetworkClient(长连接底层)、UIAdaptor/LogAdaptor(UI 与上报解耦)、HTTPDNSFactory(域名解析)等抽象接口,将各类底层实现与业务解耦,可自由替换或挂载第三方实现。
| 目录 | 内容 | 说明 |
|---|---|---|
| GGNetwork/Assets/Scripts/GGNetwork | 框架代码 | 可以直接复制到目标工程中使用。 |
| GGNetwork/Assets/Demo | 演示工程 | 可以作为框架使用的参考。 |
| 模块 | 说明 |
|---|---|
GameNetworkSystem |
系统总入口,按固定顺序完成整体初始化编排 |
HttpNetworkSystem |
HTTP 层总入口:Post/Get 请求、异常处理策略、参数签名、多线程、结果统一分发 |
NetworkSystem |
长连接总入口:客户端连接管理(默认 game / notify 两条)、请求发送、轮询刷新 |
DownloadSystem |
文件下载管理:流式下载、进度回调、失败自动重试 |
HTTPDNSSystem |
域名解析:本地缓存、TTL 定时刷新、按 IP 替换 host |
ServiceCenter |
网络服务中心:连接/请求超时参数、服务域名动态刷新 |
| QQ群: | 242500383 | ![]() |
当前版本的 GGNetwork 适用于实时性要求不高的 SLG、休闲等类型的游戏。虽然是内测版本,但已经在商业项目中应用。
| 小小三国2 | 一款已经运营了 8 年的 SLG 手游。 |
| 游戏化心理评测系统 | 上海某知名高校的游戏化心理评测项目。 |
- Best HTTP (Pro) — 预置 HTTP 底层实现(位于
Assets/LocalPackages) - PomeloClient / UnityWebSocket — 预置长连接底层实现(位于
Assets/LocalPackages) - GGTask / Dependency — 多线程任务队列与通用工具程序集
- 整理代码,把 PomeloClient 充分剥离出来,作为可选插件
- 更完整的 Demo 演示
- 补齐
RequestItem.cs/HTTPRequestAdapter.cs源码归档(当前仅存 .meta)

