Узнать время пинга до ресурса

Обсуждение программ nnCron и nnCron LITE

Узнать время пинга до ресурса

Postby Morituruz » Sat, 30 Apr 2016, 17:39

Есть ли слово для этого?
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Узнать время пинга до ресурса

Postby VoidVolker » Thu, 05 May 2016, 15:20

Нету. Самый простой вариант примерно такой:
Code: Select all
START-APPW: ping ya.ru -n 1 > C:\ping_result.txt

И далее парсить файл. Или можно взять какую-нибудь консольную утилиту с просторов сети.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Узнать время пинга до ресурса

Postby Morituruz » Thu, 05 May 2016, 15:45

Костыли вы мои костыли, дайте я вас сейчас расцелую:
Code: Select all
: AVERAGE_PING ( a u -- p ) { a u \ ping_count ping_result -- }
   \ среднее арифметическое трёхкратного пинга к домену a u (2016-04-30_18-23-52)
   3 TO ping_count
   a u 1 PING DROP   \   для разрешения имени сервера
   ping_count 0 DO   \ делаем свой цикл, т.к. PING видимо посылает пакеты одновременно
\      S" STEP" TYPE CR
      GetTickCount                                                               \ кладём на стек кол-во мс
      a u 1 PING DROP                                                         \ пингуем однократно, результат выкидываем
      GetTickCount SWAP - ping_result + TO ping_result
   LOOP
   ping_result ping_count /       \ делим суммированное время на кол-во повторов
;

Прибавляет процентов 10.

Жаль, что в цикле почему-то не работает, поэтому так:
Code: Select all
: FOR_ALL_DOMAINS ( a u -- )
   \ для всех доменов из строки на входе собираем строку для batch (2016-04-30_18-16-01)
   S" " 2SWAP      \ пустая строка для подклейки в RE-ALL
   S" /[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)+/is" RE-ALL
      \ $1 AVERAGE_PING . CR
      \ $0 TYPE CR
      \ для вывода в консоль нужно конвертировать в ОЕМ
      \ S" echo " S+ $0 S+ S"  & ping " S+ $0 S+ S"  | FIND " S+ QUOTE S+ S" Среднее" ANSI>OEM S+ QUOTE S+ S"  & " S+
      S" echo " S+ $0 S+ S"  & ping " S+ $0 S+ S"  | FIND " S+ QUOTE S+ S" Среднее" S+ QUOTE S+ S"  & " S+
   ;RE-ALL
   S"     pause & exit" S+
   \ 2DUP TYPE CR
   START-APP: cmd /K %1 esPICKS%
;

User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Узнать время пинга до ресурса

Postby AlikasS » Fri, 06 May 2016, 03:47

из следующей темы можешь допилить собственную поделку или взять начальный пример от Николая ))
Не срабатывает по тайм-ауту пинга
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Узнать время пинга до ресурса

Postby Morituruz » Wed, 18 May 2016, 11:37

AlikasS, где ж вы раньше были.
Тем не менее наблюдаю ту же чертовщину с выполнением внутри RE-ALL: все домены кроме последнего выдают нулевой пинг.
Code: Select all
: AVERAGE_PING ( a u -- p ) { a u \ ping_count ping_result -- }
   \ среднее арифметическое пинга к домену a u (2016-05-18_00-22-34)
   10 TO ping_count
   a u 1 PING DROP   \   для разрешения имени сервера
   ping_count 0 DO
      a u PING2 ping_result + TO ping_result
   LOOP
   ping_result ping_count /       \ делим суммированное время на кол-во повторов
;
: FOR_ALL_DOMAINS ( a u -- )
   S" /[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)+/is" RE-ALL
      $0 TYPE SPACE $0 AVERAGE_PING . CR
   ;RE-ALL
;
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Узнать время пинга до ресурса

Postby AlikasS » Wed, 18 May 2016, 13:14

Твои решения не тестил, в качестве предположения:
Может стоит переменную
ping_result
сделать не локальной. Или поставить побольше точек вывода инфы и протестить в консоли
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Узнать время пинга до ресурса

Postby Morituruz » Wed, 18 May 2016, 13:52

В том то и дело, что во время цикла в самом слове AVERAGE_PING выдаются нули в a u PING2
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Узнать время пинга до ресурса

Postby gavrilov9599 » Mon, 20 Jun 2016, 12:09

Посоветуйте пожалуйста какую нибудь консольную утилиту
gavrilov9599
 
Posts: 1
Joined: Mon, 20 Jun 2016, 11:54


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 4 guests