【问题标题】:uptime remote counter php正常运行时间远程计数器php
【发布时间】:2012-05-18 16:57:54
【问题描述】:

我想要的是超出我对 webdev 的基本知识的一点。

我正在寻找一种方法来开发一个 php 计数器,以显示网络上有多少时间在线计算机(因为我认为他应该通过对那台计算机的 ping 来解决)。

示例:

计算机 1: 在线 - 02:45:02 h(仍在实时递增计数)

页面刷新后,状态可能变为:

计算机 1: OFFLINE - 00:00:00 h(可能计算机已关闭)

作为另一次刷新页面,状态可能变为:

计算机 1: ONLINE - 00:00:01 h(再次在线,开始新计数)

我已经有 ping 功能了。

额外:我可能需要在一种 LOG 中记录这些状态更改,但我现在把它放在后台!

编辑:我在 php 中询问它,但它可以以一种简单的方式完成,我在听你的!我对一些英语错误感到抱歉:)

我希望我也向我解释过!既然已经感谢您的关注了。

【问题讨论】:

    标签: php counter ping uptime


    【解决方案1】:

    另一种选择是使用简单的 ajax 调用,根据用户的 IP 地址不断更新数据库记录。你可以让它每 10 秒或 30 秒运行一次,或者任何你喜欢的。您需要做的就是创建一个 MySQL 表,该表存储用户的 IP、条目创建的日期时间以及最后记录的日期时间。每个 ajax 调用它都会检查是否有一行具有相同的 IP 和您的时间间隔内的最后记录的日期时间(10 秒或您设置的任何时间),如果有,只需更新最后记录的日期时间,如果没有插入新行.

    然后,在您的 php 页面上,您将检查在您的设置间隔(例如 10 秒)内最后记录日期时间的任何记录,如果是这样,您可以使用 javascript/jquery 时钟向您显示自创建记录的日期时间。

    另一个更简单的选择是简单地安装谷歌分析,他们有一个新的实时功能,你可以实时看到谁在你的网站上,他们正在查看什么页面等等......

    【讨论】:

      【解决方案2】:

      如果你已经有一个 ping 函数工作,那么在我看来你可以简单地设置一个 cron 作业来每分钟运行一次该脚本(例如),然后将你的 ping 函数的结果存储在数据库中(MySQL或者)。

      然后,当您查看状态页面时,该页面会从数据库中获取所有计算机的最新记录,并显示它们是在线还是离线。如果他们在线,您可以计算当前时间与特定计算机在当前会话中首次在线的时间之间的差异,并显示该系统的正常运行时间。

      当然,这假设您知道这些计算机运行的 IP 地址在它们在线时不会改变(虽然这看起来不太可能,但您可能需要牢记这一点)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-19
        • 2013-09-03
        • 2015-10-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多