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 分流具体数据。