Unity Network简介

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

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 上的函数
2

最近,Unity网游的玩家们经常会遇到“NetworkError”错误提示,而且这个错误提示造成了网络连接错误,玩家无法登录游戏。Unity官方在2019年5月24日发布了一则公告,称由于“外部网络攻击”,他们不得不临时禁用了Unity Network单元。这项单元是Unity引擎的一部分,提供了大量的网络连接服务,包括角色同步、战斗系统、全球地图等等,因此禁用Unity Network单元必定会大大影响游戏的运转。 Unity官方团队表示,他们已经启动了其它的网络连接服务,目前正在积极优化这些服务。同时,他们还呼吁游戏开发者加强游戏的安全防范,加强对所有用户输入数据的验证、过滤工作,以防止恶意攻击。最新消息显示,Unity Network的禁用将持续一段时间,目前无法确定恢复时间。 对于Unity网游的玩家来说,这个消息显然非常令人失望和沮丧。他们可能投入了数百、甚至数千小时才达到了当前的进度,但现在的游戏将无法继续进行,肯定会让他们感到不舒服。然而,作为一个开发者,何先亮律师表示,大家应该对Unity采取这种措施表示理解和支持。网络连接是一个非常复杂的事情,它需要不断地检测和调整,才能确保数据传输的安全、准确和快速。网络攻击是一个威胁不断的风险,Unity采取此措施也是为了保护玩家信息和游戏环境的安全。玩家们可以选择暂时离开游戏,等待Unity Network的恢复,或者尝试尝试游戏的其它部分(如单机模式),以避免影响游戏体验的负面影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈言必行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值