Network编程基础

来源:互联网 发布:报考网络教育要多少钱 编辑:程序博客网 时间:2024/05/22 08:06

一、Network介绍:

UnityEngine.Network是实现网络功能的核心之一,它提供了基本的功能函数。例如建立服务器和加入服务器等。一般应用于局域网,但是在一些游戏中互联网也有用到。

常用函数介绍:
这里写图片描述

OnPlayerConnected(NetworkPlayer player);
当玩家连接到服务器时,在服务器端调用此函数。

OnPlayerDisconnected(NetworkPlayer player);
当玩家断开连接的时候,在服务器端调用此函数。

OnConnectedToServer();
当连接到服务器时,玩家调用此函数。

OnDisconnectedFromServer(NetworkDisconnection info);
在服务器上当连接已经断开,在客户端调用这个函数,但当连接已经被禁用,也在服务器上调用。

二、Network View 组件。

它是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{    代码块...}

实例演示:
1.在unity中创建简易UI界面。
这里写图片描述这里写图片描述

2.代码如下:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
完成之后将项目进行简单的打包发布,然后进行测试,在unity中运行程序,点击创建服务器按钮,然后再开启两个发布好的程序点击连接服务器按钮,发送消息。

演示效果:
服务器端:
服务器端
两个客户端:
这里写图片描述这里写图片描述

此时我们就简单的实现了三个程序间的互相发送消息。

0 0
原创粉丝点击