Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.10;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.012 c
2-1279517915
linuxoid
2010-07-19 09:38
2010.10.10
помогите с потоком


2-1279112941
DFT
2010-07-14 17:09
2010.10.10
вопрос по inherited


2-1279567153
Студент
2010-07-19 23:19
2010.10.10
Возвращение динамических массивов в параметрах


15-1278909803
12
2010-07-12 08:43
2010.10.10
В MSSQL есть SoundEx(str), есть ли такое для Delphi?


11-1224874964
AnarchyMob
2008-10-24 23:02
2010.10.10
Использование диологовых окон из ресурсов