Unity Network简介

2020-12-21 18:04发布

Unity中Network类了解网络编程相关知识点,从而可以设计出自己的局域网互动游戏小案例,,,

NetWroke介绍

UnityEngne.Network是实现网络功能的核心之一,提供了基本的功能函数,例如建立服务器和加入服务器等。首先进行函数的介绍,然后通过一个案例讲解如何使用这些函数。

函数介绍

Network.InitializeServer(int connettions,int Port,bool useNat); 
该函数用于初始化服务器。Connections是最大连接数, Port是服务器监听的端口号,useNat表明是否使用Nat穿透。返回枚举类型NetworkConnectionError.返回NetworkConnectionError.NoError时表示创建服务器成功,没有错误.

Network.Connect(string IP,int Port); 
该函数用于连接服务器,IP是所要连接的服务器的IP地址,Port是端口号。返回枚举类型NetworkConnectionError.返回NetworkConnetionError.NoError是表示连接服务器成功.没有错误.

Network.Disconnect(); 
该函数用于断开网络连接。如果是服务器的话,则是断开网络连接并连接服务器。


NetworkView是Unity封装的一套快速实现多人联机游戏的功能。以此为基础,我们可以开发各种类型的多人游戏,可以开发过关游戏的双人联机,也可以开发类似于CS的射击游戏,以房间为单位。

基本介绍 
属性 
* isMine : Network View 是否是由本机创建的。 
* observed:指定被观察及同步的组件或者脚本。 
* stateSynchronization: Network View的类型。OFF为没有数据将被同步,ReliableDeltaCompressed为当前数据发生变化时才发送,Unreliable为强制发送数据。 
* viewID: NetworkViewID类型的ID。

方法 
* RPC(Remote Procedure Call,远程过程调用)。在Network系统中可以理解为向其他机器发送消息,如果有通名函数将被调用。 
* networkView.RPC(string funName,RPCMode mode,params object[] args); 
* 参数funName为函数名,参数mode指定发送的范围,可选范围包括全部连接的机器包括本机,例如,All是发送给所有机器,Server是发送给服务器。 
* args是传递的参数,可传可不传,支持类型包括int,float,string,NetworkPlayer,NetworkViewID,Vector3,Quaternion. 
* 只要有Network View,那么任何游戏对象上的脚本的函数体前用[RPC]标注,就可以通过RPC来通知调用,但是函数名必须是唯一的,否则其中只有一个会被调用。

//已过时,目前还可使用,, 
[RPC] 
void funName() 

… 

API 上的函数 




作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/78288254

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。