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连接,而不是正常的传输层连接。