Форум: "Начинающим";
Текущий архив: 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