C# 统一网络独立客户端

C# 统一网络独立客户端,c#,unity3d,network-programming,C#,Unity3d,Network Programming,我不知道如何分离或区分连接的客户端。我已经完成了许多网络教程中的一个,让您通过unityMasterServer在另一个窗口中移动块。我目前有我自己的实现,这是一个大厅,列出了创建的服务器,玩家可以连接到这些服务器,一旦满了一个新的场景加载所有连接的玩家 现在,我需要他们轮流行动(基于回合)产生“自己”颜色的对象。类似于检查一个玩家ID,但是我需要一个所有连接ID的完整列表来检查。您可能想要的是 MasterServer.RequestHostList MasterServer.PollHost

我不知道如何分离或区分连接的客户端。我已经完成了许多网络教程中的一个,让您通过unity
MasterServer
在另一个窗口中移动块。我目前有我自己的实现,这是一个大厅,列出了创建的服务器,玩家可以连接到这些服务器,一旦满了一个新的场景加载所有连接的玩家


现在,我需要他们轮流行动(基于回合)产生“自己”颜色的对象。类似于检查一个玩家ID,但是我需要一个所有连接ID的完整列表来检查。

您可能想要的是

MasterServer.RequestHostList
MasterServer.PollHostList
HostData.connectedPlayers
MasterServer.RequestHostList请求主服务器上的主机列表。然后,您可以通过MasterServer.PollHostList访问此列表

MasterServer.PollHostList返回主机数据数组。您可以使用此数组查询连接到每个主机的播放机

下面链接到Unity API参考上的各个文档。每个链接都有一个很好的使用示例



对于每个连接的客户端,您的服务器都应该有一个网络游戏对象的副本。由客户端实例化,客户端用来向服务器发送信息

每个对象中NetworkView的所有者都是实例化它们的客户端,您可以在“newworkView.owner”中找到它


但是你已经有了独立的游戏对象,这可能足以满足你的需要;它们中的每一个都有一个客户端使用的脚本的不同实例,因此可以让它们在轮换队列中选择一个位置,并且每一个都有不同的颜色。

创建服务器的玩家永远不会获得主机数据。它甚至不显示Network.connections上的op。如何获取创建服务器的计算机上的主机数据?