检查数据是否已在服务器上更新,而不请求gam的每一帧

2024-03-28 10:21:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个游戏,我必须从服务器上获取数据(通过restwebservice和JSON),但问题是我不知道服务器上何时可以获得数据。所以,我决定使用这样一种方法,在特定的时间之后点击服务器,或者在游戏的每一帧上按要求点击服务器。但这肯定不是正确的、可扩展的和有效的方法。显然,锤击不是正确的选择

现在我的问题是,我如何知道数据已经到达服务器,以便我可以使用这些数据来运行我的游戏。或者,我应该如何指导后端团队以一种高效的方式设计服务器,使其能够高效地响应

记住,在服务器端我有Python,而客户端是带有unity游戏引擎的C


Tags: 数据方法引擎服务器json游戏客户端service
1条回答
网友
1楼 · 发布于 2024-03-28 10:21:50

显然很难提供一个细节不多的答案。热释光;博士说,这取决于你在开发什么游戏。然而,投票效率非常低,至少有三个原因:

  • 正如您已经指出的,前者效率低下,因为在没有必要的情况下会产生额外的工作负载
  • 后者,因为它需要TCP-服务器生成的更新可以使用UDP发送,有一些优点和缺点(如由于缺少ACK而可能丢失数据包)
  • 你可能得到更新太晚,特别是在多人游戏的情况下。假设上一次更新发生在上一次轮询之后,并且您的轮询是每5秒一次。状态可能已过时

长期和短期的是,如果你正在开发一个回合为基础的游戏,民意调查可能是好的。如果您正在开发一个实时游戏(使用Unity3D可能会建议这样做),那么服务器生成的更新(理想情况下使用UDP)在我看来是可行的

希望对你的项目有帮助并祝你好运

相关问题 更多 >