Страница 1 из 2
OnLine - не работает?
Добавлено: Вт фев 26, 2013 6:43 am
Pop
Есть вопрос по модулю OnLine устройства, заметил что тип проверки по пингу не работает (устройства все время в сети, даже такие которых нет), или это только у меня? Ну и в меню настройки пункт OnLine задвоен. Проверка по HTML вроде работает.
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 7:48 am
Alex
заметил что тип проверки по пингу не работает (устройства все время в сети, даже такие которых нет)
Есть такая (наследственная) болезнь. Никак понять не можем в чём причина этого безобразия. У меня на Windows 7 с фаерволом и антивирусом было то же самое. После перехода на Windows XP и отключения фаервола и антивируса всё стало нормально. В чём там дело — непонятно.
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 7:59 am
Pop
Ну да, именно под Win 7
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 8:05 am
Pop
Кстати интересно выглядит лог проверки несуществующего устройства (проверка через 30 секунд):
2013-02-26 06:08:32 Host is online
2013-02-26 06:07:56 Host is offline
2013-02-26 06:02:14 Host is online
2013-02-26 06:01:40 Host is offline
2013-02-26 05:47:10 Host is online
2013-02-26 05:46:37 Host is offline
2013-02-26 02:23:58 Host is online
2013-02-26 02:23:23 Host is offline
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 10:29 am
Alex
Не парьтесь, это безнадёжно. Легче перейти на WinXP.
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 11:04 am
Pop
Безнадежных вещей не бывает, так можно и до 3.11 дооткатываться

Бум смотреть сами, может автор поможет.
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 11:23 am
sergejey
Чёрт его знает, чего оно себя так может вести... Для запуска пинга используется код
Код: Выделить всё
exec(sprintf('ping -n 1 %s', escapeshellarg($host)), $res, $rval);
return $rval === 0;
по идее ничего такого тут нет и должен работать надёжно, но видно есть тонкости какие-то в 7ке и выше.
под линуксом вроде бы нормально работает, там правда немного другой код используется:
Код: Выделить всё
exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval);
return $rval === 0;
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 11:52 am
anemcov
да и под Линуксом иногда проскакивает, что до работающего устройства пинг не проходит.
Вчера на форуме прошла тема по отслеживание "здоровья" оборудования.
Можно попробовать по аналогии отправлять на устройство 4 пинга (путем написания своего метода), и процент прошедших пингов использовать как показатель "здоровья" этого сетевого устройства.
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 1:34 pm
Pop
В файле <pinghosts.class.php > есть строка: $online=ping($host['HOSTNAME']); строка 214
Она отвечает за вызов пинга? Если да, то не понятно, если ее закоментировать, ничего не меняется. И конструкция далее типа
if ($online) {
$online=1;
}
тоже не понятно. Наверное где-то в логике проблема.
Re: OnLine - не работает?
Добавлено: Вт фев 26, 2013 2:33 pm
Pop
Можеь проблема здесь?. Разница ответа пинга в XP и Win7:
XP:
C:\_majordomo\htdocs\modules\pinghosts>ping *.*.*.189
Обмен пакетами с *.*.*.189 по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для *.*.*.189:
Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),
т.е. потеряно четыре, все понятно.
Смотрим в семерке:
C:\_majordomo\htdocs\modules\pinghosts>ping *.*.*.62
Обмен пакетами с *.*.*.62 по с 32 байтами данных:
Ответ от *.*.*.61: Заданный узел недоступен.
Ответ от *.*.*.61: Заданный узел недоступен.
Ответ от *.*.*.61: Заданный узел недоступен.
Ответ от *.*.*.61: Заданный узел недоступен.
Статистика Ping для *.*.*.62:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Т.е. устройства НЕТ, но пинг прошел удачно (получено 4, потерь 0)
=====================================================