NetworkManager
NetworkManager是用于管理网络系统的HLAPI的便利类。
PS:继承此类以后不能写Awake方法,不然会隐藏掉NetworkManager中的Awake方法。
对于简单的网络应用程序,可以使用NetworkManager来控制HLAPI。它提供了简单的方法来启动和停止客户端和服务器,管理场景,并具有用户代码可以用来实现网络事件处理程序的虚拟功能。NetworkManager一次处理一个客户端。下面的例子显示了一个最小的网络设置。
using UnityEngine;
using UnityEngine.Networking;
public class Manager : NetworkManager
{
public override void OnServerConnect(NetworkConnection conn)
{
Debug.Log("OnPlayerConnected");
}
}
| 静态变量 | 说明 |
|---|---|
| networkSceneName | 当前网络场景的名称。 |
| singleton | 当前网络场景的名称。 |
| 变量 | 说明 |
|---|---|
| autoCreatePlayer | 一个标志,用于控制连接时是否自动创建玩家对象,以及是否改变场景。 |
| channels | 用于网络传输层的服务质量信道。 |
| client | Manager正在使用的当前的NetworkClient。 |
| clientLoadedScene | 如果客户端在连接到服务器时加载了一个新的场景,返回true。 |
| connectionConfig | 要使用的自定义网络配置。 |
| customConfig | 标记以启用自定义网络配置。 |
| dontDestroyOnLoad | 一个标志,用于控制在场景更改时是否销毁NetworkManager对象。 |
| globalConfig | 要使用的传输层全局配置。 |
| isNetworkActive | 如果NetworkServer或NetworkClient处于活动状态,则为true。 |
| logLevel | 日志级别专门用于网络日志消息的用户。 |
| matches | 可供加入的匹配列表。 |
| matchHost | 配对服务器的主机名。 |
| matchInfo | 将调用StartServer()或StartClient()时使用的MatchInfo实例。 |
| matchMaker | UMatch MatchMaker对象。 |
| matchName | 当前匹配的名称。 |
| matchPort | 匹配服务的端口。 |
| matchSize | 当前游戏中玩家的最大数量。 |
| maxConnections | 支持的最大并发网络连接数。 |
| maxDelay | 在连接上发送数据包之前的最大延迟。 |
| migrationManager | NetworkManager正在使用的迁移管理器。 |
| networkAddress | 当前正在使用的网络地址。 |
| networkPort | 当前正在使用的网络端口。 |
| numPlayers | NumPlayers是服务器上所有连接的活动玩家对象的数量。 |
| offlineScene | 脱机时切换到的场景。 |
| onlineScene | 在线时切换到的场景。 |
| packetLossPercentage | 客户端丢弃的传入和传出数据包的百分比。 |
| playerPrefab | 用于在服务器上创建玩家对象的默认预制。 |
| playerSpawnMethod | NetworkManager使用的当前产生玩家的方法。 |
| runInBackground | 控制程序是否在后台运行。 |
| scriptCRCCheck | 在服务器和客户端之间使用脚本CRC检查的标志。 |
| secureTunnelEndpoint | 允许您指定EndPoint对象,而不是设置networkAddress和networkPort(对于某些平台(如Xbox One)是必需的)。 |
| serverBindAddress | 将服务器绑定到的IP地址。 |
| serverBindToIP | 标志告诉服务器是否绑定到特定的IP地址。 |
| simulatedLatency | 客户端的传入和传出数据包的延迟时间(以毫秒为单位)。 |
| spawnPrefabs | 将在生成系统注册的预制体列表。 |
| startPositions | 当前注册的当前场景的玩家开始位置列表。 |
| useSimulator | 用于控制由此NetworkManager启动的客户端是否使用模拟延迟和数据包丢失的标志。 |
| useWebSockets | 这使得NetworkServer监听WebSockets连接,而不是正常的传输层连接。 |
