Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72

Как отловить сообщение об отсутствии подключения к интернету?

17.11.2015, 19:04. Показов 3308. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Скачиваю файлы через поток и пользуюсь блоками try...except. Но вот хочу сообщение об отсутствии интернета отдельно вывести не в качестве сообщения "Socket Error # 10060 Connection timed out" а в виде простого сообщения типа: "Подключение к интернету отсутствует". Тобиш если возникает ошибка "Socket Error # 10060 Connection timed out" то нужно показать сообщение : "Подключение к интернету отсутствует".
Подскажите пожалуйста, как реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2015, 19:04
Ответы с готовыми решениями:

Работа библиотеки Retrofit при отсутствии подключения к интернету
При стабильном подключении к интернету приложение работает нормально, как только убираю подключение - приложение крашит при выполнении...

Как отловить разрыв подключения [Socket]
Здравствуйте! Интересует как можно отловить момент, когда подключенный клиент разрывает соединение. При использовании BeginReceive если...

Как отловить исключение ошибки подключения DLL
Как отловить исключение ошибки подключения DLL Использую using MySql.Data.MySqlClient; Но если нету при запуске этой программы...

38
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 19:53
Какой компонент пользуешь ?
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 19:55  [ТС]
не понял причём тут компоненты вообще
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 19:57
А кто тебе ошибку эту выдает, святой дух что ли ?
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 19:58  [ТС]
Поток
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 19:58
Какой поток ?
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:05  [ТС]
прочитай первый пост еще разок. Подробнее объясню всё, отрубаю инет, при получении от блока exception сообщения об отсутствии инета нужно вместо кода ошибки получить обычное сообщение что интернета нет
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:08
Че ты какой тупой ?

Delphi
1
2
3
4
5
try
 ..  что у тебя происходит [B]здесь[/B] ? .. Тебе в ножки покляняться чтобы ты соизволил наконец уточнить ?
except
..
end;
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:10  [ТС]
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
procedure TMyThread.Execute;
var
 j:integer;
begin
try
  inherited;
   i:=0;
   j:=0;
   Stream:=TMemoryStream.Create;
   Form1.IdHTTP1.Get(uname,Stream);
   while j<=Stream.Size do
    begin
     inc(i);
     inc(j);
 
    end;
   Stream.SaveToFile(fname);
   Stream.Free;
   check3:=10;
 FreeOnTerminate:=true;
except
 on E: Exception do begin
      logcons:='обнаружена ошибка в процедуре потоковой загрузки: '+e.message; form1.console_log;
      form1.label31.visible:=true;
      end;
 end;
end;
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:12
Цитата Сообщение от Ghost74 Посмотреть сообщение
Form1.IdHTTP1.Get(uname,Stream);
Ну и ?
Это, по-твоему, не компонент ?
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:14  [ТС]
Я думал IdHTTP отношения в данном случае никакого не имеет
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:15
Как это не имеет ?
А кто, по-твоему, лезет в интернет и выдает при этом ошибку ?
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:17  [ТС]
Нужно что то типа этого:
Delphi
1
if e.message='Socket Error # 10060 Connection timed out' then showmessage('инета нет');
только попроще и эффективнее

Добавлено через 54 секунды
может в инет полезть и wininet, который кстати говоря до этого имел прямое отношение к потоку
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:25
Цитата Сообщение от Ghost74 Посмотреть сообщение
только попроще и эффективнее
Объект E имеет вполне конкретный класс, какой - выясняется обращением к E.ClassType

Наверняка у объекта этого класса есть св-во вида ErrorCode, проанализировав значение которого можно получить то самое ожидаемое значение 10060
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:34  [ТС]
пробую, чёт не получается
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:36
А это
Delphi
1
2
3
4
5
while j<=Stream.Size do 
begin 
inc(i); 
inc(j); 
end;
что за ересь ?
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:39  [ТС]
Это попытка сделать отображение прогресса загрузки, но т.к. файлы ничего почти не весят частично убрал. А это осталось, не мешает работе - пусть остатся пока
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:41
Цитата Сообщение от Ghost74 Посмотреть сообщение
не мешает работе
Зато ощутимо мешает понять насколько ты ориентируешься в теме.
0
7 / 7 / 0
Регистрация: 09.01.2014
Сообщений: 72
17.11.2015, 20:47  [ТС]
Знаю, плохо

Добавлено через 2 минуты
Просто гружу 3 разных файла, один при запуске формы, всё через один поток. Но получать сообщения что инета нет при запуске формы ненадо. А вот когда вручную вызываю поток то можно
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
17.11.2015, 20:49
Зачем ты полез в потоки, если даже без потоков не в состоянии разобраться в проблеме ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.11.2015, 20:49
Помогаю со студенческими работами здесь

Есть два разных подключения к интернету. Как их выбирать?
Есть два разных подключения к интернету. Как их выбирать? Например, я получаю почту. Как узнать, по какому соединению я лезу в инет?...

Как работать с MS SQL без подключения к интернету? Как создать локальный сервер?
Как работать с MS SQL server-м без подключения к интернету? Для этого же вроде нужно создать локальный сервер?Как его создавать?

В папке "Сетевые подключения" пусто, подключения к интернету нет, но нельзя войти в настройки адаптера
В папке &quot;Сетевые подключения&quot; - пусто. К интернету подключение есть но не получается войти в настройки адаптера :( вроде...

Пропало окошко "Состояние подключения (имя подключения)" при подключении к интернету
Всем привет вопрос в теме)

Зависает программа при отсутствии интернет подключения
Программа переходит в режим &quot;не отвечает&quot; если отсутствует подключение к интернет. Конструкция try-catch не помогает. Как можно обезопасить...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
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