php - 有什么方法可以检查是否有人使用 Javascript/PHP 关闭了浏览器?

标签 php javascript mysql

<分区>

我正在开发基于 PHP/MySQL/Javascript 的在线国际象棋游戏。我遇到的一个问题是用户可能在一端关闭他的浏览器。有什么方法可以可靠地检测是否有人闲置/关闭了页面?

更复杂的是,我们学校的服务器不支持 cron 作业 -_-

最佳答案

正如其他评论者所建议的那样,唯一可靠的方法是对您的服务器使用 ping 技术。这样您就可以控制游戏,而不是浏览器。您必须“跟踪”用户的方法是触发 AJAX 调用……我认为每 5 秒通常就足够了……对服务器而言。所有这一切要做的就是将某些内容插入“跟踪”表或更新您在“游戏”表中创建的新列以跟踪用户上次进行服务器事件的时间(忽略游戏中的正常 Action ......你可以对正常移动执行相同的过程并重新设置 ping 间隔,以避免过度检查)。因此,每次用户移动(或其他需要服务器交互的操作)时,您都必须检查对手最后一次服务器事件的时间 - 如果对手在 7 秒内没有移动当前时间,则对方的浏览器已停止通信(无论出于何种原因)。我说 7 秒的原因是因为服务器/数据库通信和任何可能的网络滞后发生了额外的处理。由于网络滞后可能是瓶颈,您可能希望将此值增加到大约 10。

关于php - 有什么方法可以检查是否有人使用 Javascript/PHP 关闭了浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775934/

相关文章:

javascript - 如何在React的render()中导航到react-router-1.0.3中的组件之外?

javascript - window.location.href 上的 jQuery 执行此代码

php - 如何将时间戳转换为获取时间戳的国家/地区特定时间。

php - 哪个类理想地分配属性 : User or UserFactory?

php - 优化子串字谜比较算法

javascript - 如何从禁用的 &lt;input&gt; 元素中获取表单值

php - 获取不在内容中的图像高度

java作为前端,php作为后端

php - 在数据库中存储和回显 php 代码

mysql 外键引用语法错误