0

私が欲しいのは、webdevに関する私の基本的な知識を少し超えています。

ネットワーク上にオンラインコンピューターがある時間を表示するためのphpカウンターを開発する方法を探しています(彼はそのマシンへのpingで解決する必要があると思います)。

例:

コンピューター1:オンライン-02:45:02 h(まだリアルタイムでカウントアップ)

ページを更新すると、状態が次のように変わる場合があります。

コンピューター1:オフライン-00:00:00 h(コンピューターの電源がオフになっている可能性があります)

ページを更新する別の方法として、状態が次のように変わる場合があります。

コンピューター1:オンライン-00:00:01 h(再びオンライン、新しいカウントを開始)

すでにping機能が動作しています。

追加:これらの状態変化を一種のLOGに登録する必要があるかもしれませんが、今のところそれをバックグラウンドに置いています!

編集:私はそれをphpで尋ねていますが、それは簡単な方法で行うことができます、私はあなたを聞いています!いくつかの英語の間違いをお詫びします:)

私も説明してくれたと思います!すでにご清聴ありがとうございました。

4

2 に答える 2

0

すでにping関数が機能している場合は、cronジョブを設定して、そのスクリプトを1分ごとに実行し(たとえば)、ping関数の結果をデータベース(MySQLなど)に保存できるようです。 。

次に、ステータスページを表示すると、そのページはデータベースからすべてのコンピューターの最新のレコードを取得し、それらがオンラインかオフラインかを示します。それらがオンラインの場合は、現在の時刻と、特定のコンピューターが現在のセッションで最初にオンラインで表示された時刻との差を計算し、そのシステムの稼働時間を表示できます。

もちろん、これは、これらのコンピューターが実行されているIPアドレスがオンライン中に変更されないことを知っていることを前提としています(これは思われるかもしれませんが、覚えておく必要があるかもしれません)。

于 2012-05-18T17:14:38.037 に答える
0

もう1つのオプションは、ユーザーのIPアドレスに基づいてデータベースレコードを継続的に更新する単純なajax呼び出しを行うことです。10秒または30秒ごと、または好きなように実行することができます。あなたがする必要があるのは、エントリが作成された日時と最後に記録された日時のユーザーのIPを格納するMySQLテーブルを作成することです。各ajax呼び出しは、同じIPと最後に記録された日時が間隔(10秒または設定したもの)内にあるかどうかを確認します。その場合は、最後に記録された日時を更新します。そうでない場合は、新しい行を挿入します。 。

次に、phpページで、セットアップ間隔(たとえば、10秒)内に日時が最後に記録されたレコードをチェックします。そうすれば、javascript / jqueryクロックを使用して、レコードの日時から経過した時間を表示できます。作成されました。

より簡単なもう一つのオプションは、単にグーグルアナリティクスをインストールすることです、彼らはあなたがあなたのサイトにいる人、彼らが見ているページなどをリアルタイムで見ることができる新しいリアルタイム機能を持っています...

于 2012-05-18T17:36:24.700 に答える