• NetworkServer
    • 静态属性
    • 静态方法

    NetworkServer

    NetworkServer是一个管理来自多个客户端的连接的高级API类。

    NetworkServer使用NetworkServerSimple实现基本的网络功能,并添加更多类似游戏的功能。

    NetworkServer通过NetworkServerSimple实例处理来自远程客户端的远程连接,并且还具有本地客户端的本地连接。

    NetworkServer是一个单例。它具有静态便利功能,如NetworkServer.SendToAll()NetworkServer.Spawn(),它们自动使用单例实例。

    NetworkManager使用NetworkServer,但可以在没有NetworkManager的情况下使用。

    网络服务器管理已生成的一组网络对象。对象由NetworkServer.Spawn()生成,它将它们添加到此集合中,并使它们在客户端上创建。生成的对象在被销毁时会自动删除,或者通过调用NetworkServer.UnSpawn()从生成的集合中删除它们 - 这不会销毁该对象。

    NetworkServer使用了许多内部消息,当NetworkServer.Listen()被调用时会设置这些消息。

    静态属性

    属性功能
    active检查服务器是否已启动。
    connections来自客户端的所有当前连接的列表。
    dontListen如果启用此功能,则服务器将不侦听常规网络端口上的传入连接。
    handlers向服务器注册的消息处理程序字典。
    hostTopology服务器正在使用的主机拓扑。
    listenPort服务器正在侦听的端口。
    localClientActive如果本地客户端当前处于活动状态,则为真。
    localConnections服务器上的本地连接列表。
    maxDelay在连接上发送数据包之前的最大延迟。
    networkConnectionClass创建新网络连接时使用的类。
    numChannels网络配置的通道数量。
    objects这是一个已经在服务器上产生的网络对象的字典。
    serverHostId此服务器使用的传输层hostId
    useWebSockets这使服务器侦听WebSockets连接而不是普通的传输层连接。

    静态方法

    方法说明
    AddExternalConnection它接受来自另一个外部源的网络连接并将其添加到服务器。
    AddPlayerForConnectionAddPlayer消息处理程序收到来自玩家的请求时,服务器会调用此方法将玩家对象与连接相关联。
    BecomeHost这允许已经从服务器断开连接的客户端成为新版游戏的主机。
    ClearHandlers清除所有注册的回调处理程序。
    ClearLocalObjects这将清除服务器知道的所有网络对象。如果场景更改以正常方式删除所有对象而不以正常方式销毁它们,则可能需要这样做。
    ClearSpawners清除该服务器的所有已注册的spawn预制和生成处理函数。
    Configure这为服务器配置传输层设置。
    Destroy销毁此对象和所有客户端上的相应对象。
    DestroyPlayersForConnection这将销毁与服务器上的NetworkConnections关联的所有玩家对象。
    DisconnectAll断开所有当前连接的客户端。
    FindLocalObject这将找到具有指定网络ID的本地NetworkIdentity对象。
    GetConnectionStats获取所有连接的聚合数据包统计信息。
    GetStatsIn获取服务器的入站网络统计信息。
    GetStatsOut获取客户端的出站网络统计信息。
    Listen在给定的端口号上启动服务器。请注意,如果已创建匹配项,则将使用中继服务器而不是本地套接字来侦听。
    ListenRelay使用中继服务器启动服务器。这是使用中继服务器的手动方式,因为如果存在匹配项,常规NetworkServer.Connect()将自动使用中继服务器。
    RegisterHandler为特定的消息类型注册一个处理程序。
    RemoveExternalConnection这会删除添加了AddExternalConnection()的外部连接。
    ReplacePlayerForConnection这将替换玩家对象与不同玩家对象的连接。旧玩家对象不会被销毁。
    Reset重置NetworkServer单例。
    ResetConnectionStats重置所有连接上的数据包统计信息。
    SendByChannelToAll在指定的传输层QoS通道上向所有连接的客户端发送网络消息。
    SendByChannelToReady将网络消息发送到指定传输层QoS通道上的“就绪”所有连接的客户端。
    SendBytesToPlayer这将向特定玩家发送一个字节数组。
    SendBytesToReady这会向所有准备好的玩家发送一个字节数组。
    SendToAll将具有给定类型编号的消息结构发送给所有连接的客户端。
    SendToClient发送消息给拥有给定连接ID的客户端。
    SendToClientOfPlayer向拥有给定玩家对象实例的客户端发送消息。
    SendToReady将具有给定类型编号的消息结构发送给只有准备好的客户端。
    SendUnreliableToAll将给定的消息结构作为不可靠的消息发送给所有连接的客户端。
    SendUnreliableToReady发送给定的消息结构仅作为不可靠的消息给已准备好的客户端。
    SendWriterToReadyNetworkWriter对象的内容发送给准备好的玩家。
    SetAllClientsNotReady将所有连接的客户端标记为不再准备好。
    SetClientNotReady将连接的客户端设置为未准备好。
    SetClientReady设置客户端准备就绪。
    SetNetworkConnectionClass这设置创建新网络连接时使用的类。
    Shutdown这会关闭服务器并断开所有客户端的连接。
    Spawn在准备好的所有客户端上产生给定的游戏对象。
    SpawnObjects这会导致场景中的NetworkIdentity对象在服务器上生成。
    SpawnWithClientAuthority这会产生一个像NetworkServer.Spawn()这样的对象,但也会将Client Authority分配给指定的客户端。
    UnregisterHandler取消注册特定消息类型的处理程序。
    UnSpawn这需要一个已经衍生出来的对象并且不会产生它。

    ?