Как понять, включен ли компьютер с Windows XP или 7 с помощью PHP? - PullRequest
0 голосов
/ 31 октября 2011

Я хочу получить список компьютеров, которые подключены к сети или нет в локальной сети, но для этого мне нужно использовать PHP, HTML и JavaScript.

Я использовал команду exec в PHP с "ping servername"но он работает слишком медленно, поэтому я могу получить только 7 или 8, тогда PHP выдает ситуацию с ошибочными компьютерами, но мне нужна ситуация с 50 компьютерами.

Я попытался получить файл со всех компьютеров, например \ lab4-01 \ c $, ноон не работал в PHP или JavaScript, но у меня снова не получилось.

  • Как мне решить этот вопрос?

Ответы [ 2 ]

1 голос
/ 31 октября 2011

Вы должны написать скрипт cron, который одновременно тестирует несколько компьютеров и обновляет таблицу базы данных с указанием статуса и времени последнего обновления.Скрипт попытается сначала обновить те компьютеры, которые долгое время не обновлялись.Например, для 10 компьютеров одновременно ваш запрос будет упорядочен по времени обновления и ограничен 10, например, ORDER BY updatetime LIMIT 10.

Ваша страница состояния не должна тестировать компьютеры напрямую, а должна извлекать данные из БД, это будет невероятно быстро показывать.Уровень запуска машины может подняться в небо, например, если ваш cron выполняется каждые X минут, вы можете установить меньшее максимальное время выполнения

0 голосов
/ 31 октября 2011

Использование ping не очень хорошая идея, поскольку некоторые сети фильтруют трафик ICMP. Я бы использовал php functin fsockopen (); http://php.net/manual/en/function.fsockopen.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...