2012-05-18 3 views
0

То, что я хочу, немного выше моих базовых знаний на webdev.uptime remote counter php

Я ищу способ разработать счетчик php, чтобы показать мне, сколько времени в сети есть онлайн-компьютер (так как он должен быть урегулирован пингом на эту машину, я думаю).

пример:

Компьютер 1: ONLINE - 2:45:02 ч (еще до подсчета в режиме реального времени)

Учитывая обновления на странице, состояние может измениться на:

компьютер 1: OFFLINE - 00:00:00 ч (возможно, компьютер выключен)

в качестве еще одного обновления страницы, состояние может измениться на:

Компьютер 1: ONLINE - 00:00:01 ч (снова онлайн, начало новых счетов)

Ive уже работает функция ping.

Дополнительно: мне может потребоваться зарегистрировать эти изменения состояния в виде LOG, но я положил это на задний план на данный момент!

Редактировать: im спрашивает его в php, но это можно сделать простым способом, я вас слушаю! Im srry для некоторых английских ошибок :)

Надеюсь, я объяснил и мне! С тех пор уже благодарны за внимание.

ответ

0

Другим вариантом может быть простой вызов ajax, который постоянно обновляет запись базы данных на основе IP-адреса пользователя. Вы можете запустить его каждые 10 секунд или 30 секунд или что угодно. Все, что вам нужно сделать, это создать таблицу MySQL, в которой хранится IP-адрес пользователя, когда была создана запись, а затем - последнее записанное время. Каждый вызов ajax проверяет, есть ли строка с тем же IP-адресом и последним записанным временем жизни в пределах вашего интервала (10 секунд или независимо от того, что вы его установили), если это так просто обновить последнее записанное datetime, если не вставить новую строку ,

На вашей php-странице вы должны были бы проверить любые записи, которые имели последний записанный день и время в пределах вашего интервала настройки (например, 10 секунд), если вы можете использовать часы javascript/jquery, чтобы показать вам время, прошедшее с тех пор дата и время создания записи.

Другим вариантом, который будет проще, является просто установить Google Analytics, у них есть новая функция Realtime, где вы можете видеть в режиме реального времени, кто на вашем сайте, на какой странице они смотрят, и т. Д.

0

Если у вас уже есть функция ping, то мне кажется, что вы можете просто настроить задание cron для запуска этого скрипта каждую минуту (например), а затем сохранить результаты своей функции ping в базе данных (например, MySQL или около того).

Затем, когда вы просматриваете страницу состояния, эта страница получает последние записи для всех компьютеров из базы данных и показывает, являются ли они онлайн или офлайн. Если они находятся в сети, вы можете рассчитать разницу между текущим временем и временем, которое конкретный компьютер был впервые обнаружен онлайн в текущем сеансе, и показать время безотказной работы для этой системы.

Конечно, предполагается, что вы знаете, что IP-адреса, на которых работают эти компьютеры, не будут меняться, пока они находятся в сети (маловероятно, хотя это может показаться, это может быть что-то, о чем вам нужно помнить).