1

嗨,我一直在思考这个问题,但似乎无法得到答案。
我的问题是。networkServer connectionId 是否像统一 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 的旧 connectionId 吗?

player_3 = connectionId 0  
player_2 = connectionId 1  

或者他会被排在队伍的后面吗?并获得一个新的connectionId

player_1 = disconnected(no connectionId then)  
player_2 = connectionId 1  
player_3 = connectionId 2
4

1 回答 1

1

如果假设 player_1 断开连接会发生什么。这会让 player_2 下移到第一行并获得 player_1 的 connectionId 吗?

没有

还是他会留在同一个connectionId?如果是这样,如果第三个玩家连接会发生什么?他会排在队伍前面并使用 player_1 的旧 connectionId 吗?

每个连接都有一个唯一的ID。

当您感到困惑时,请阅读API文档。

引用文档:

由传输层分配的此连接的唯一标识符。

在服务器上,此 ID 对于服务器上的每个连接都是唯一的。在客户端上,此 Id 对客户端来说是本地的,它与服务器上用于此连接的 Id 不同。

因此,当其他NetworkConnection 连接或断开连接时,ID 保持不变。

唯一NetworkConnection.connectionId可能改变的值是设备/客户端断开连接并再次连接时。在这种情况下,当它再次重新连接时它会给出另一个 ID,但这不应该影响仍然连接的设备/客户端。他们的 ID 应该仍然保持不变。

于 2017-03-05T11:09:42.370 回答