gpt4 book ai didi

php - 如何最小化jQuery游戏中的mysql连接和ajax调用(ping函数)?

转载 作者:行者123 更新时间:2023-11-29 14:26:22 25 4
gpt4 key购买 nike

我正在编写一个基于浏览器的游戏。客户端使用 jQuery,服务器使用 PHP/MySQL。

这是一款回合制游戏,因此大部分客户端与服务器的通信都是通过调用-响应(jQuery-PHP)来实现的。每当用户单击按钮或任何其他事件元素时,都会发生该调用。在 JQuery 中调用后,PHP Controller 创建一些类,连接到数据库并返回响应。这种通讯对我来说很好,不会造成连接数等问题(与使用网站时的标准流量类似)。

不幸的是,我还需要来自服务器端的一些“调用”。该示例是要加入的事件游戏的列表。游戏列表如有更改,必须通知客户。并且最大延迟不超过1秒。

现在,我通过从客户端(jQuery)发送“ping”调用来实现这一点,服务器大部分时间都以“无”或“game2已创建”等应答。但是“ping”将每秒从每个玩家们。对于它们中的每一个,服务器都会创建类并连接到 mysql,这会导致“数据库连接错误”。

有什么方法可以最小化 mysql 连接和/或 ajax 调用吗?我使用标准 www 服务器,没有 root 帐户。

最佳答案

从这里开始:

But that 'pings' will be send every second from each of the players

而不是两个玩家每秒调用服务器(实际上是 2 次调用,其中每个连接的玩家数量都会增加),您可以通过检查空闲时间什么都不做的时间来优化它;如果连续 2 次调用没有返回任何内容,您应该将调用延迟增加到 2 秒,然后增加到 4 秒,依此类推(只需使用 setInterval 并使其连续运行);这将允许您的应用喘口气(我有自己的游戏使用它)

接下来要做的是调用策略;您可以将玩家的命令存储在 js 数组中,然后每 X 秒发送一次,而不是在玩家的命令中调用服务器该阵列关闭;如果没有命令,则不会调用ajax。是的,您会遇到延迟,但考虑到有很多用户连接到可能较差的服务器...

您还可以使用comet technology如果你想进一步插入事情..

关于php - 如何最小化jQuery游戏中的mysql连接和ajax调用(ping函数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com