Version: 2017.3

NetworkMatch.DropConnection

切换到手册
public Coroutine DropConnection (Networking.Types.NetworkID netId, Networking.Types.NodeID dropNodeId, int requestDomain, Networking.Match.NetworkMatch.BasicResponseDelegate callback);

参数

netId 要删除的客户端所属匹配的 NetworkID。
dropNodeId 指定匹配内要删除的客户端的 NodeID。
requestDomain 此请求的请求域。只有同一域中的请求可以相互连接。例如,如果使用域 1 创建 NetworkMatch.CreateMatch,则只有也指定了域 1 的 ListMatches 才能找到该匹配。使用此值来接收不同(可能不兼容)的客户端版本。
callback 请求完成时调用的回调。

返回

Coroutine 这是一个异步函数,将在未来某个时刻(即协程结束与服务后端的通信时)完成。

描述

允许从匹配中删除单个客户端的函数。

此函数会自动调用 OnClientDisconnect,以告知配对清除 Unity Multiplayer 服务中的客户端状态。客户端清除后,将与 Relay Server 断开连接且不再是当前匹配的一部分。

此函数受身份验证令牌保护。当客户端创建或加入匹配时,会生成身份验证令牌。只有在调用方是将删除的客户端或匹配主机(匹配的管理员)时,此函数才会成功。将拒绝其他所有调用方的访问。

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Networking.Match;
using UnityEngine.Networking.Types;

public class ExampleScript : MonoBehaviour { public NetworkID netId;

void Start() { NetworkManager.singleton.StartMatchMaker(); NetworkManager.singleton.matchMaker.DropConnection(netId, NodeID.Invalid, 0, OnMatchDropConnection); }

public void OnMatchDropConnection(bool success, string extendedInfo) { // ... } }