编辑
我完全重写了这个,因为我意识到我需要什么并不是很清楚。
所以,我要实现一个在线游戏。这个想法很简单。所有玩家都必须回答从服务器下载的同一组问题。为了回答每个问题,玩家有给定的时间,具体取决于问题的难度。问题一次提出一个。在回答当前问题的时间过去后,下一个问题将呈现给玩家。在最后一个问题之后,客户端应该显示所有当前在线玩家的得分排行榜。排行榜(当然)是在服务器上计算的,客户端应该在游戏结束时下载它。
好的,就是这样。我需要的是关于如何实现整个客户端-服务器通信的一些建议。我不需要细节,只需要一些想法。最重要的是我不确定客户端-服务器时间同步如何工作。重要的是,所有玩家都有相同的时间来回答每个问题。我也有一个非常简单的解决方案,但我不确定可能存在的陷阱。我想到的是,当玩家第一次连接(或新游戏开始时)时,客户端会下载当前游戏的整个问题列表。此外,还会交换一些时间同步消息以获取当前游戏时间。然后在客户端知道问题和时间同步后,启动本地计时器并且游戏完全离线运行。当游戏结束时,每个客户端将自己的分数/结果发送到服务器。当排行榜准备就绪时,服务器将其发送回所有客户端。再一次,可以使用本地计时器来了解新游戏何时开始并下载新的问题列表。
请发表您的建议并评论我的解决方案。谢谢