unity在5.1版本之后更新了全新的多人在线网络工具,叫Unity Networking,简称UNET,此项技术开发者可以从传输层传输数据。通常,unity把开发者分为两种,一种是不是很懂网络知识的,只需要最小的代价完成多人联网功能,这类用户应该去使用NetworkManager或High Level API (HLAPI),第二类用户需要建设大型网络游戏,,需要强大且灵活的网络工具,这类用户需要去使用NetworkTransport API (LLAPI)。
授权服务器:承担着游戏世界的模拟运算,所有游戏规则,以及处理用户端的输入,将输入信息发送给服务器端,并持续接受服务端的传输过来的游戏状态。 这个过程可以简单的看作:
客户端反馈玩家当前状态信息给服务端->服务端处理接受的状态信息->反馈各个客户端用于更新游戏世界的数据。
这种方法优势是避免了客户端的欺诈行为,这种情况下要求服务端的处理能力很强大,因为服务器要处理每个用户的输入。
非授权服务器:并不控制客户端每个用户的输入和输出,客户端本身处理玩家的输入和本地客户端的游戏逻辑,然后发送确定的行为结果给服务端,服务端同步这些操作到游戏世界里。
网络通信有两种重要的方式:远程函数调用与状态同步。
远程函数调用:
简称RPC,它是用来调用远程计算机上某个函数的方法,包括&#