0. 背景
文(一)讲述了本文讲述了如何使用既有材料和Unity,构建一个简单的语音聊天客户端,服务端程序。上文(二)讲述了语音录音和播放的几个重要的步骤,同时也给出了步骤的相关API。本文将会讲述如何使用Unity Network相关组件实现Client-Server通信。
1. Client-Server通信
Client-Server通信在语音聊天中起到了最基础的作用转发客户端消息广播给所有客户端,如图1 所示:
图1. Client-Server通信结构图
Client-Server通信有很多方式,最经典的是网络Socket模块,Socket编程的流程如图2所示:
图2. 经典网络socket模块
当然本文中Server也是非常的简陋,而且既然使用的是Unity,而Unity提供了非常强大的类库Network
,和非常便捷的组件NetworkView
组件,即可解决CS通信问题。在(一)中已经使用了NetworkView
。
2. Class "Network"
Network
类是Unity网络模块的核心实现,它提供了基本所有的接口和网络所需参数。例如构建服务端,连接,以及各种回调事件。
//(1)构建服务器并初始化
static NetworkConnectionEr