|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|||||||||||
Python ping true\false14.12.2018, 15:37. Показов 26131. Ответов 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|