此篇为上文,下篇:Mirror网络库 | 实战
一、介绍
- 基于UNET,从2014年经过9年实战测试;
- 服务器和客户端是一个项目;
- 使用NetworkBehaviour而不是MonoBehaviour,还有NetworkServer和NetworkClient;
- Mirror LTS与Unity LTS并存,一次支持两年,仅修复错误,提供一致的API;
- 稳定、模块化、易于使用;
- 被使用于:Oculus Rift、Meta Quest、Steam、PC、Android、iOS、WebGL;
- 不依赖任何Unity以外的闭源依赖项;
- 使用MIT许可
二、特性
模块化的网络协议传输组件
默认使用KCP,但是可以使用社区中的传输组件进行低级别数据包发送:
built in | Name | for |
---|---|---|
√ | KCP | reliable UDP |
√ | Telepathy | TCP |
√ | WebSockets | Websockets |
× | Ignorance | ENET UDP |
× | LiteNetLib | UDP |
× | FizzySteam | SteamNetwork |
× | FizzyFacepunch | SteamNetwork |
× | Epic Relay | Epic Online Services |
× | Bubble | Apple GameCenter |
× | Light Reflective Mirror | Self-Hosted Relay |
× | Oculus P2P | Oculus Platform Service |
三、代码
仅为速览,具体实现细节请查看源代码。如有理解错误,敬请指出。
PS:
- based on 原仓库的 v81.3.0
- Editor部分不做特殊阐释,自行阅读代码
- Examples部分实际案例会在下篇有一点讲解