OnLine - не работает?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Pop
Сообщения: 9
Зарегистрирован: Пн фев 11, 2013 9:46 am
Откуда: Ростов-на-Дону
Благодарил (а): 0
Поблагодарили: 0

OnLine - не работает?

Сообщение Pop » Вт фев 26, 2013 6:43 am

Есть вопрос по модулю OnLine устройства, заметил что тип проверки по пингу не работает (устройства все время в сети, даже такие которых нет), или это только у меня? Ну и в меню настройки пункт OnLine задвоен. Проверка по HTML вроде работает.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: OnLine - не работает?

Сообщение Alex » Вт фев 26, 2013 7:48 am

заметил что тип проверки по пингу не работает (устройства все время в сети, даже такие которых нет)
Есть такая (наследственная) болезнь. Никак понять не можем в чём причина этого безобразия. У меня на Windows 7 с фаерволом и антивирусом было то же самое. После перехода на Windows XP и отключения фаервола и антивируса всё стало нормально. В чём там дело — непонятно.
Pop
Сообщения: 9
Зарегистрирован: Пн фев 11, 2013 9:46 am
Откуда: Ростов-на-Дону
Благодарил (а): 0
Поблагодарили: 0

Re: OnLine - не работает?

Сообщение Pop » Вт фев 26, 2013 7:59 am

Ну да, именно под Win 7
Pop
Сообщения: 9
Зарегистрирован: Пн фев 11, 2013 9:46 am
Откуда: Ростов-на-Дону
Благодарил (а): 0
Поблагодарили: 0

Re: OnLine - не работает?

Сообщение Pop » Вт фев 26, 2013 8:05 am

Кстати интересно выглядит лог проверки несуществующего устройства (проверка через 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
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: OnLine - не работает?

Сообщение Alex » Вт фев 26, 2013 10:29 am

Не парьтесь, это безнадёжно. Легче перейти на WinXP.
Pop
Сообщения: 9
Зарегистрирован: Пн фев 11, 2013 9:46 am
Откуда: Ростов-на-Дону
Благодарил (а): 0
Поблагодарили: 0

Re: OnLine - не работает?

Сообщение Pop » Вт фев 26, 2013 11:04 am

Безнадежных вещей не бывает, так можно и до 3.11 дооткатываться :-) Бум смотреть сами, может автор поможет.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: OnLine - не работает?

Сообщение sergejey » Вт фев 26, 2013 11:23 am

Чёрт его знает, чего оно себя так может вести... Для запуска пинга используется код

Код: Выделить всё

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;

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: OnLine - не работает?

Сообщение anemcov » Вт фев 26, 2013 11:52 am

да и под Линуксом иногда проскакивает, что до работающего устройства пинг не проходит.
Вчера на форуме прошла тема по отслеживание "здоровья" оборудования.
Можно попробовать по аналогии отправлять на устройство 4 пинга (путем написания своего метода), и процент прошедших пингов использовать как показатель "здоровья" этого сетевого устройства.
Pop
Сообщения: 9
Зарегистрирован: Пн фев 11, 2013 9:46 am
Откуда: Ростов-на-Дону
Благодарил (а): 0
Поблагодарили: 0

Re: OnLine - не работает?

Сообщение Pop » Вт фев 26, 2013 1:34 pm

В файле <pinghosts.class.php > есть строка: $online=ping($host['HOSTNAME']); строка 214
Она отвечает за вызов пинга? Если да, то не понятно, если ее закоментировать, ничего не меняется. И конструкция далее типа
if ($online) {
$online=1;
}
тоже не понятно. Наверное где-то в логике проблема.
Pop
Сообщения: 9
Зарегистрирован: Пн фев 11, 2013 9:46 am
Откуда: Ростов-на-Дону
Благодарил (а): 0
Поблагодарили: 0

Re: OnLine - не работает?

Сообщение Pop » Вт фев 26, 2013 2:33 pm

Можеь проблема здесь?. Разница ответа пинга в 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)
=====================================================
Ответить