Unreal Engine
ue网络底层构成
记录了学习ue网络底层的内容和知识,在此记录
================================================================================
UE4 网络架构三大核心组件 简洁总结
================================================================================
一、底层基础
- 传输层使用 UDP,不是 TCP。
- 可靠性由引擎在应用层实现(UChannel 层,通过 Bunch 确认/重传机制)。
- 可靠数据用 Reliable Bunch,非关键数据(如位置)用 Unreliable Bunch。
二、三大组件职责
UNetDriver(总调度)
- 服务器端:维护多个 ClientConnections(一对多)
- 客户端:只有一个 ServerConnection(一对一)
- 每 Tick 决定哪些 Actor 需要复制,驱动序列化过程。
UNetConnection(真实连接)
- 服务器与客户端之间的点对点数据通道。
- 握手机制通过它完成。
- 所有数据包的收发都经过它。
UChannel(数据分流器)
- 一个 UNetConnection 上可拆分多个 UChannel。
- Control Channel:必定存在的第一个通道,管握手、Actor 创建/销毁、关卡流送。
- UActorChannel:针对特定 Actor 的属性和 RPC 同步。
- 在此层处理可靠/不可靠传输、Bunch 组装与确认。
事实上,握手阶段就已经是 Control Channel 在工作了,它是每个连接默认自带的、最核心的通道,负责全局管理(Actor 创建/销毁、关卡加载等)。Actor Channel 才是后续因为有同步需求才动态创建的。
三、服务器与客户端的不对称性
服务器 UNetDriver:ClientConnections 列表 → 一对多 客户端 UNetDriver:ServerConnection 单连接 → 一对一
这种不对称是理解后续 Dedicated Server 架构的关键。
四、一句话串联
UNetDriver 管理 → UNetConnection 连接 → UChannel 分流具体数据。