Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];

Вниз

помогите с пингом   Найти похожие ветки 

 
linuxoid   (2010-07-12 13:05) [0]

Здравствуйте.

имеется таблица в базе с ip-адресами. нужно поочередно всех пропинговать.

tablebase.Open;
tablebase.First;
for i:=1 to tablebase.recordcount do begin
adres:=tablebase.fields.Fields[2].AsString;
icmp.Host:=adres;
icmp.Ping();
listbox1.Items.Add("Время до хоста: "+" - "+inttostr(icmp.ReplyStatus.MsRoundTripTime)+"ms")
tablebase.Next;

скажите в чем проблема?


 
Dennis I. Komarov ©   (2010-07-12 13:19) [1]

На сосне висят два банана.

скажите в чем проблема?


 
Anatoly Podgoretsky ©   (2010-07-12 13:28) [2]

> linuxoid  (12.07.2010 13:05:00)  [0]

А у тебя есть проблема?


 
linuxoid   (2010-07-12 13:29) [3]

не перебирает по строкам.


 
linuxoid   (2010-07-12 13:33) [4]

точнее зависает при поочередном переборе


 
Anatoly Podgoretsky ©   (2010-07-12 13:42) [5]

используй while not eof


 
linuxoid   (2010-07-12 13:48) [6]

хотелось бы чтоб она как пропингует один хост и сразу же добавил б отчет в листбокс.  а вместо этого она пингует все хосты потом тока добавляет все отчеты в листбокс.


 
Юрий Зотов ©   (2010-07-12 13:52) [7]


> linuxoid   (12.07.10 13:48) [6]

1. Есть begin, а где end к нему? Похоже, не в том месте, где надо.
2. Не используйте RecordCount. См. [5].


 
Медвежонок Пятачок ©   (2010-07-12 13:54) [8]

хотелось бы чтоб она как пропингует один хост и сразу же добавил б отчет в листбокс.  

"она" в приведенном коде именно так и делает.


 
Anatoly Podgoretsky ©   (2010-07-12 13:56) [9]


> хотелось бы чтоб она как пропингует один хост и сразу же
> добавил б отчет в листбокс.  а вместо этого она пингует
> все хосты потом тока добавляет все отчеты в листбокс.

Онад добавляет в отчет строку за строкой, просто ты не обрабатываешь сообщения и тебе кажется, что потом.


 
Anatoly Podgoretsky ©   (2010-07-12 13:57) [10]

Свидетель постоянно путал показания.


 
linuxoid   (2010-07-12 14:00) [11]

end есть. забыл дописать.

tablebase.Open;
tablebase.First;
for i:=1 to tablebase.recordcount do begin
adres:=tablebase.fields.Fields[2].AsString;
icmp.Host:=adres;
icmp.Ping();
listbox1.Items.Add("Время до хоста: "+" - "+inttostr(icmp.ReplyStatus.MsRoundTripTime)+"ms")
tablebase.Next;
end;

если же в базу много хостов, то программа просто зависает.
когда использовал массив adres[i] программа поочередно пинговала хосты и добавляла в листбокс. а вот с базой проблемы.


 
Dennis I. Komarov ©   (2010-07-12 14:03) [12]

ProcessMessages; И куда бы ее поставить???


 
linuxoid   (2010-07-12 14:05) [13]

ну и как это можно решить?
я с ProcessMessages; не работал


 
12 ©   (2010-07-12 14:06) [14]

ассинхронный режим


 
Dennis I. Komarov ©   (2010-07-12 14:18) [15]


> 12 ©   (12.07.10 14:06) [14]

Воробьев не жалко?


 
Dennis I. Komarov ©   (2010-07-12 14:20) [16]


> linuxoid   (12.07.10 13:48) [6]

А зачем?


 
linuxoid   (2010-07-12 14:25) [17]

нужен наилучший вариант кода который проверит на наличие доступности хоста в сети.


 
Anatoly Podgoretsky ©   (2010-07-12 14:27) [18]

> linuxoid  (12.07.2010 14:05:13)  [13]

Ну тогда зачем вешаешь лапшу на уши, что с листбоксом у тебя работало.


 
Dennis I. Komarov ©   (2010-07-12 14:29) [19]


> нужен наилучший вариант кода который проверит на наличие
> доступности хоста в сети.

Что есть "доступность хоста"? Отлуп пинга еще ни о чем не говорит. Даже если получил ответ, далеко не факт, что через 5 сек. ты не получишь отлуп.

В чем сокровенный смысл сей операции?


 
linuxoid   (2010-07-12 14:32) [20]

в листбоксе токо пишется отчет. прежнии код рабочии тока када много хостов она тупо зависает.

нужна альтернатива, чтоб поочередно перебирала из базы по одному хосту и добавляла в листбокс отчет- доступен ли в сети хост или нет


 
Dennis I. Komarov ©   (2010-07-12 14:36) [21]


> прежнии код рабочии тока када много хостов она тупо зависает

он не туто записает, он тупо работает...

> отчет- доступен ли в сети хост или нет

Ну на какого он нужен?


 
linuxoid   (2010-07-12 14:38) [22]

цель. проверит на наличие доступности в сети хостов.
ip адреса хостов находятся в базе.
нужно путем пинга определить доступен ли хост или нет.

и сразу же отчет добавлять в листбокс.
например.
192.168.0.1 - 0ms
или
192.168.0.2 - N/A.


 
Dennis I. Komarov ©   (2010-07-12 14:42) [23]


> путем пинга определить доступен ли хост или нет

С какого?

> например.
> 192.168.0.1 - 0ms

а через секунду уже N/A. И чего?

З.Ы. Про X, Y, Z КУ?


 
Anatoly Podgoretsky ©   (2010-07-12 14:45) [24]

> linuxoid  (12.07.2010 14:25:17)  [17]

Да ты справься сначала с простым, с наилучшим ты утонешь.


 
linuxoid   (2010-07-12 14:48) [25]

главное просканировать сеть.
вся эта процедура я закинул в timer с интервалов 30 секунд.
так что через каждые 30 секунд она будет сканировать сеть.
если какой нить хост не доступен я уже буду знать

пытаюсь сделать аналог fpingera


 
Anatoly Podgoretsky ©   (2010-07-12 14:49) [26]

> linuxoid  (12.07.2010 14:38:22)  [22]

Это не цель, а описание действий, цель например наказать тех, кто не
окажется в списке.


 
Anatoly Podgoretsky ©   (2010-07-12 14:50) [27]


> linuxoid   (12.07.10 14:48) [25]

Готовься к зависанию программы и переполнению стека.


 
linuxoid   (2010-07-12 14:52) [28]


> Готовься к зависанию программы и переполнению стека.

ну и как это избежать?


 
Dennis I. Komarov ©   (2010-07-12 14:59) [29]


> вся эта процедура я закинул в timer с интервалов 30 секунд.
> так что через каждые 30 секунд она будет сканировать сеть.

Все, мы пропали...

> ну и как это избежать?

Так на кой ляд оно надо?


 
12 ©   (2010-07-12 15:01) [30]

да ладно, зато запустил и забыл
Когда админом в магазине работал, писал, все пинговалось и ругалось, если кто молчит в течении 2-3 минут
там чудненькие интерфейсы были - если пинга не было больше минут 5ти, девайс вылетал, причем при восстановлении пинга он не работал уже,
т.к. где то во вшитой в себя софтине уже никогда не определял что ping пошел.
Ты его пингуешь, он на уровне интерфейса бодренький, а команды игнорирует.

только выкл/вкл + рестарт службы на сервере, вот для того прожку и писал, там (SpeachAPI) еще он говорил мне куда идти :)
ща исходники искал, но не нашел. Наверное забыл про нее, когда уходил.

ассинхронно писал, помню
на получение ответа - взведение флага
по таймеру, если флаг взведен, - опять пинг.


 
linuxoid   (2010-07-12 15:02) [31]


> Так на кой ляд оно надо?


пытаюсь сделать аналог программы Friendly Pinger.


 
Dennis I. Komarov ©   (2010-07-12 15:09) [32]


> 12 ©   (12.07.10 15:01) [30]
там чудненькие интерфейсы были - если пинга не было больше минут 5ти, девайс вылетал, причем при восстановлении пинга он не работал уже,
т.к. где то во вшитой в себя софтине уже никогда не определял что ping пошел.

Вот видишь чего бывает от таких софтоваяниев...


> linuxoid   (12.07.10 15:02) [31]
>
> > Так на кой ляд оно надо?
>
>
> пытаюсь сделать аналог программы Friendly Pinger.

Как со стенкой... См. [26]


 
linuxoid   (2010-07-12 15:18) [33]


> Как со стенкой... См. [26]


не понял вопрос


 
Dennis I. Komarov ©   (2010-07-12 15:27) [34]


> цель. проверит на наличие доступности в сети хостов.

Зачем?

> главное просканировать сеть.
> пытаюсь сделать аналог fpingera

Зачем?

> пытаюсь сделать аналог программы Friendly Pinger.

...


 
Anatoly Podgoretsky ©   (2010-07-12 15:31) [35]


> не понял вопрос

Вопрос простой, зачем [26]


 
linuxoid   (2010-07-12 15:34) [36]

следить за работой сети. знать время их отключения если таковы были. короче контролировать сеть


 
Dennis I. Komarov ©   (2010-07-12 15:46) [37]

нет ответа от пинга хоста - пошел, пнул, заработало... Так что ли? Это есть контроль? Не трогайте ее и она Вас не будет. А если у кого какой хост отвалится, то бдительные юзверы Вам об этом скажут быстрее, чем супер-пупер прога... :)


 
linuxoid   (2010-07-12 15:56) [38]

но мне нужно это супер-пупер прогу написать. тут хостами могуть быть не только компьютеры, но и  управляемые свичи находящиеся удаленно от меня


 
Anatoly Podgoretsky ©   (2010-07-12 15:58) [39]

> linuxoid  (12.07.2010 15:34:36)  [36]

Кто же сеть с помощью пинга контролирует,


 
linuxoid   (2010-07-12 16:00) [40]

контроль всмысле - быть осведомленным что происходит в сети. знать какие хосты в какое время отключались



Страницы: 1 2 3 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.004 c
11-1225097570
Demiurg
2008-10-27 11:52
2010.10.10
Lazarus и ошибка "не найден файл"


2-1279280809
Jacksotnik
2010-07-16 15:46
2010.10.10
Непонятное что-то с запросом


2-1279379714
PinDOS
2010-07-17 19:15
2010.10.10
Ограничение доступных свойств и методов объекта


2-1279476319
lirikus
2010-07-18 22:05
2010.10.10
Фильтрация по дате


2-1279622166
linuxoid
2010-07-20 14:36
2010.10.10
что означает это ошибка?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский