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