我正在开发一个小型网络游戏(仅限 LAN),其中一台计算机充当服务器,所有其他计算机(包括在同一台计算机上运行的实际游戏)充当客户端。本质上,服务器对用户是透明的,但它的存在是为了简化我的状态管理。我现在的基本概念是每个玩家的计算机会通过广播说“嘿,我想玩”,并将保留网络上其他玩家的列表。在每个运行游戏的玩家表示他们准备好后,选择一台计算机作为服务器,其余的默认为客户端。
在选择 LAN 上的哪台计算机用作服务器时,真的有任何既定的方法可以选择一台并通知其他计算机吗?
我一直在修改简单的基本想法,即让所有玩家的计算机选择一个随机数,并让具有最低(或最高,无关紧要)的服务器作为服务器(为滚动相同的计算机重新生成随机数) )。每台计算机将收到其他计算机的“滚动”数量,并可以确定哪台是服务器,之后它可以连接到它。这看起来很粗糙,但我不确定这是否重要,因为所有计算机实际上都在同一网络上,彼此相距几英尺。这会充分完成这项工作还是有更好的方法?