Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для XaKO
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344

Пинг нескольких серверов

11.03.2013, 10:33. Показов 2640. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для пинга я использую следующее
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
procedure ping(server,name:string;lab:TLabel;gaug:TGauge;icmp:TIdicmpclient);
var
p,p1:integer;
begin
try
 icmp.Host:=server;
 icmp.Ping();
 p:=icmp.ReplyStatus.MsRoundTripTime;
 p1:=trunc(roundto((p/999)*100,0));
 if p1<5 then
 gaug.ForeColor:=clfuchsia;
 if (p1>=5) and (p1<8) then
 gaug.ForeColor:=clhighlight;
 if (p1>=8) and (p1<11) then
 gaug.ForeColor:=cllime;
 if (p1>=11) and (p1<15) then
 gaug.ForeColor:=clyellow;
  if (p1>=15) and (p1<20) then
 gaug.ForeColor:=$004080FF;
 if p1>=20 then
 gaug.ForeColor:=clred;
 gaug.progress:=P1;
lab.caption:='Ïèíã íà '+name+';                                                                                        '+inttostr(p)+' ms';
except
on exception do
begin
showmessage('Íåò ñîåäèíåíèÿ ñ Èíåðíåòîì äëÿ ïðîâåðêè ïèíãà èëè íåäîñòóïåí ñåðâåð!');
flag:=true;
end;
end;
end;
procedure TForm5.Button1Click(Sender: TObject);
var
serv,servn:array [1..11] of string;
i,jj:integer;
begin
flag:=false;
jj:=0;
for i:=1 to componentcount-1 do
  if (Components[i] is TGauge) then
  (Components[i] as TGauge).progress:=0;
  for i:=1 to componentcount-1 do
  if (Components[i] is TLabel) then
  begin
  inc(jj);
  (Components[i] as Tlabel).caption:=servs[jj];
  end;
serv[1]:='178.20.235.151';
serv[2]:='178.20.235.83';
serv[3]:='213.252.177.91';
serv[4]:='193.110.91.28';
serv[5]:='94.198.55.167';
serv[6]:='213.252.177.122';
serv[7]:='213.252.131.29';
serv[8]:='221.192.143.165';
serv[9]:='61.188.177.46';
serv[10]:='114.80.73.87';
serv[11]:='62.115.254.40';
servn[1]:='RU1';
servn[2]:='RU2';
servn[3]:='RU3';
servn[4]:='RU4';
servn[5]:='RU5';
servn[6]:='EU1';
servn[7]:='EU2';
servn[8]:='CH1';
servn[9]:='CH2';
servn[10]:='CH3';
servn[11]:='RU6';
ping(serv[1],servn[1],label1,gauge1,icmp);
if flag=false then
begin
ping(serv[2],servn[2],label2,gauge2,icmp);
ping(serv[3],servn[3],label3,gauge3,icmp);
ping(serv[4],servn[4],label4,gauge4,icmp);
ping(serv[5],servn[5],label5,gauge5,icmp);
ping(serv[11],servn[11],label11,gauge11,icmp);
ping(serv[6],servn[6],label6,gauge6,icmp);
ping(serv[7],servn[7],label7,gauge7,icmp);
ping(serv[8],servn[8],label8,gauge8,icmp);
ping(serv[9],servn[9],label9,gauge9,icmp);
ping(serv[10],servn[10],label10,gauge10,icmp);
end;
end;
Но если какой-то сервер недоступен, то программа виснет. Как сделать чтобы этот сервер пропускался и пинговался следующий?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.03.2013, 10:33
Ответы с готовыми решениями:

Информация о доступности серверов (пинг)
Всем привет. Есть скрипт который выводит на html странице информацию о доступности серверов (пинг). &lt;%@...

Пинг нескольких ip через VB
Подскажите возможно ли это сделать или нет? Мне нужно сделать прогу которая будет следить за n-свитчами по средством пинга и если какойто...

Запрос с нескольких серверов
Как сделать запрос с нескольких серверов? Допустим одна таблица на одном сервере, вторая на другом

3
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
11.03.2013, 22:56
XaKO, как вариант можно сделать таймер ожидания. Если прошло время и сервер не отвечает, то переходим к другому серверу.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
11.03.2013, 23:15
На то есть св-во ReceiveTimeout.


if p1<5 then gaug.ForeColor:=clfuchsia; if (p1>=5) and (p1<8) then gaug.ForeColor:=clhighlight; if (p1>=8) and (p1<11) then
А что, оператор case уже не в моде ?
0
Заблокирован
11.03.2013, 23:23
Или так
Delphi
1
2
3
4
5
6
7
if then
  else if then
       else if then
            else if then
                 else if then
                      else if then
                           else if then
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2013, 23:23
Помогаю со студенческими работами здесь

Пинг нескольких ip через PHP
Подскажите возможно ли это сделать или нет? Мне нужно сделать прогу которая будет следить за n-свитчами по средством пинга и если какойто...

Репликация транзакций с нескольких серверов
Здравствуйте, ребята! Хочу настроить одностороннюю репликацию транзакций. Интересует не то как это сделать, а проблемы, которые могут...

Реализация связи нескольких серверов
Требуется организовать репликацию между двумя серверами. Есть два организации, между ними должно быть автоматизирована документооборот. ...

Синхронизация нескольких серверов ntp
Всем привет! Есть два сервера: server1 - эталонный сервер NTP, настроенный на системное время server2 - сервер, который...

Получение данных с нескольких серверов mysql
Доброго времени суток. Есть ~40 серверов на mysql (БД везде одинаковая, за некоторых исключением данных). Требуется выполнить запрос на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru