我正在开发一个小型联网游戏(仅限局域网),其中一台计算机作为服务器,其他所有计算机(包括运行实际游戏的计算机)则作为客户机。实际上,服务器对于用户来说是透明的,但存在是为了简化我对状态管理的控制。我现在的基本概念是,每个玩家的计算机将通过广播方式发出“嘿,我想玩”的请求,并将网络上的其他玩家列表保留下来。在运行游戏的每个玩家表明他们准备好后,选择一台计算机作为服务器,其余的计算机默认为客户端。
在选择哪台计算机用作服务器时,真的有任何已经确定的方法来选择一台并通知其他人吗?
我一直在尝试基本思想,即让所有玩家的计算机选择一个随机数,并使具有最低(或最高,没有关系)数字的计算机成为服务器(重新生成相同数字的计算机的随机数)。每台计算机都会接收其他计算机“掷出”的数字,并决定哪个是服务器,在此之后它将连接到服务器。这似乎很简单粗暴,但我不确定是否重要,因为所有计算机都将物理上在彼此几英尺之内的同一网络中。这样做是否足以胜任工作或者是否有更好的方法?
在选择哪台计算机用作服务器时,真的有任何已经确定的方法来选择一台并通知其他人吗?
我一直在尝试基本思想,即让所有玩家的计算机选择一个随机数,并使具有最低(或最高,没有关系)数字的计算机成为服务器(重新生成相同数字的计算机的随机数)。每台计算机都会接收其他计算机“掷出”的数字,并决定哪个是服务器,在此之后它将连接到服务器。这似乎很简单粗暴,但我不确定是否重要,因为所有计算机都将物理上在彼此几英尺之内的同一网络中。这样做是否足以胜任工作或者是否有更好的方法?