|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|||||||||||
Python ping true\false14.12.2018, 15:37. Показов 25947. Ответов 36
Добрый день, хочу пинговать сервер, и в зависимости от доступности выполнять констуркцию if\else.
Нашел на просторах код:
Я пробовал использовать модуль subprocess:
Подскажите, где я допускаю ошибку!? Спасибо !
0
|
|||||||||||
| 14.12.2018, 15:37 | |
|
Ответы с готовыми решениями:
36
Функция, возвращающая True и False
|
|
|
|||||||
| 15.12.2018, 21:25 | |||||||
|
pip install ping3
1
|
|||||||
|
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
|
||
| 15.12.2018, 21:49 | ||
|
0
|
||
|
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
|
|||||||
| 15.12.2018, 23:15 | |||||||
0
|
|||||||
|
33 / 26 / 8
Регистрация: 01.04.2017
Сообщений: 118
|
||||||||||||||||||||||
| 15.12.2018, 23:30 | ||||||||||||||||||||||
Добавлено через 2 минуты
без инета возвращает 1 строку неправильно сформировали Добавлено через 2 минуты Да и этот код вроде рабочий:
0
|
||||||||||||||||||||||
|
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
|
||||
| 15.12.2018, 23:59 | ||||
|
Добавлено через 5 минут
0
|
||||
|
33 / 26 / 8
Регистрация: 01.04.2017
Сообщений: 118
|
||
| 16.12.2018, 09:59 | ||
|
Иначе return вернет False.Тут уже несколько вариантов:1 сервер не активен ( в коде is down!);2 Превышен интервал ожидания для запроса. Второй вариант иногда проскакивает и при активном подключении. Для улучшения оптимизации достаточно добавить в код последовательность из 3-5 запросов на каждый адрес, и при основном количестве положительных результатов считать, что isUpBool = True. Проверка строки(#Example domain) при значении "yandex.ru" за все время тестирования около 3 ч. все время True. С целью проверки высказанного "Пинг вернет не 0, только если вместо IP вбить ерунду"- вбил,"аггнпdex.ru" вернул False. Но в данном коде и обозначено,- что False это "НЕТ СОЕДИНЕНИЯ". По поводу того, что функция os.system должна вернуть значение времени,- так мы же в коде не проверяем иное значение, достаточно нуля для результата. Также на маил ру ответ на вопрос- "Как работает функция system("ping ..."); ? Язык Си"-от некто "Просветленный (26960)" -system() -- вызов внешней проги в конкретной реализации. а что уж там вернёт ping - зависит от версии проги версии операционки версии пинга.. . Принято что возвращает ноль если нет ошибки, а иначе код ошибки. но сбои в каждой ситуации разные.Поэтому мне не понятно, с его вы взяли, что ноль- это ошибка сервера. Лично я пингуя апи веб серверов получаю ответ- пустой список,и также ассоциирую его с нулем, зная что это хорошо,- сервер отвечает. Проверка строки(#Your computer) при значении "83.149.46.206" (Мой IP в сети) все время False. Этому я конечно немного удивлен, но не лезу в дебри, и воспринимаю данное, как невозможность позвонить самому себе. Проверка строки(#Unresolvable hostname) при значении "https://tools.ietf.org/html/rfc6761" все время False. Но так она и переводится как- "Неразрешимое имя хоста" Остальные строки пинговали адреса подключенных к виртуальному роутеру девайсов, в 90% случаев возвращая Тру. Или временная ошибка - 10% Был замечен неприятный момент, что при активном пинговании одного адреса много раз подряд, девайс отваливался от вайфая. Но к тому же у меня по всей видимости неправильно было что-то настроено, потому-что они и так сами по себе отваливались каждые 2-3 мин.При последующем подключении к вифи айпи девайсов изменялся, и приходилось постоянно корректировать тестовый код. Еще был замечен момент, что при отключении девайсов в некоторых случаях в течение небольшого промежутка времени поток иногда возвращал Тру. Возможно, умная машина кампютер не сразу закрывает потоки. Исходя из вышеперечисленных выводов для себя решил, что данный код, при небольшой доработке, вполне функционален, и в отношении "айпишник вашей подсети, но который не назначен хосту". И как мне кажется, что чтобы понять код, нужно просто принять, что True- это верно, и никак иначе, а False переводится как ложь. Все вышенаписанное сугубо личное мнение, я не специалист, питон просто хобби, могу и ошибаться, буду рад выслушать контраргументы. Выложить доработанный код не обещаю, так- как любой сможет это сделать, если лень не помешает сделаю. Также, возможно, кто либо из "Великих" сможет разъяснить непонятные моменты(например почему запрос на свой айпи-False?)
0
|
||
|
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
|
|||
| 16.12.2018, 11:03 | |||
|
Поднимите сеть (не важно, виртуальную или прям с проводами и вайфаем) и потестируйте код на несуществующих IP адресах, пока вы пингуете адреса в своей подсети - всегда True. После этого попробуйте тоже самое через ping3, результат будет противоположный и верный. Прилагаю скриншоты.
0
|
|||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
||
| 17.12.2018, 18:51 [ТС] | ||
|
necroslider,
Возможно еще кто-то подскажешь варианты? Мне нужно решение без использования сторонних модулей.
0
|
||
|
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
|
||
| 18.12.2018, 00:35 | ||
|
0
|
||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
||
| 18.12.2018, 11:17 [ТС] | ||
|
necroslider,
0
|
||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
||
| 18.12.2018, 13:18 [ТС] | ||
|
Avazart,
0
|
||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|
| 18.12.2018, 14:13 [ТС] | |
|
Avazart, тут я не прав, спасибо разобрался.
0
|
|
|
|
|
| 18.12.2018, 14:49 | |
|
Но права админа все равно будут нужны.
0
|
|
| 18.12.2018, 14:49 | |
|
Логической переменной t присвоить значение true или false
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|