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