为什么Unity游戏开发者自己实现服务器,而不是使用Unity内置的NetworkManager
?
似乎使用CCD_ 2可以很容易地开发多联机游戏,但是,为什么开发人员要使用node.js等自行实现服务器呢??
我的理解是,两个独立的统一项目不可能使用unityHLAPI
(高级API,NetworkManager
正在使用(相互交谈。
这意味着您必须将所有服务器代码和所有客户端代码都放在同一个项目中。这不一定是一个真正的问题,但对于更大规模的项目,将服务器与客户端分离可能更容易处理,并且您不会将所有服务器代码都推送给客户端以进行反向工程。
比方说,你有一个基于回合的、非实时的游戏,比如拼字游戏,在这种情况下,使用节点或任何http
协议都是有意义的,在那里你有一台带有数据库的集中式服务器,用于保存游戏状态。
但老实说,当你有UnityTLAPI
(传输层API(时,我不知道为什么有人会喜欢纯套接字
https://docs.unity3d.com/Manual/UNetUsingTransport.html
我希望这能有所帮助,而不仅仅是一句咆哮。