嗨,我现在一直在考虑这个问题,似乎无法得到答案 我的问题是。 networkServer connectionId是否为unity c#?
中的列表我在想这个。 假设我们有两个连接到服务器的播放器。
player_1 = connectionId 0
player_2 = connectionId 1
如果让我们说player_1断开连接会发生什么。是否会让player_2向下移动到第一行并获得player_1的connectionId?
player_1 = disconnected(no connectionId then)
player_2 = connectionId 0
还是会留在同一个connectionId?如果是这样,如果第三个玩家连接会发生什么?他会被设置在线前并占据player_1的旧连接吗?
player_3 = connectionId 0
player_2 = connectionId 1
或者他会被排在后面?并获得一个新的connectionId
player_1 = disconnected(no connectionId then)
player_2 = connectionId 1
player_3 = connectionId 2
答案 0 :(得分:1)
如果让我们说player_1断开连接会发生什么。会这样做 player_2向下移动到第一行并获取connectionId PLAYER_1?
否强>
还是会留在同一个connectionId?如果是这样的话会发生什么 如果第三个玩家连接?他会被排在前面吗? 把player_1的旧connectionId?
每个连接都会获得唯一 ID。
每当您感到困惑时,请阅读API的Documentation。
来自Doc:
的引用由此分配的此连接的唯一标识符 传输层。
在服务器上,此Id对于服务器上的每个连接都是唯一的。上 客户端此Id是客户端本地的,它与Id不同 在此服务器上进行此连接。
因此,当其他 NetworkConnection连接或断开连接时,ID仍然相同。
NetworkConnection.connectionId
的值可能更改的唯一时间是设备/客户端断开连接并再次连接。在这种情况下,当它再次重新连接时它会给出另一个id,但这不应该影响仍然连接的设备/客户端。他们的身份证仍应保持不变。