Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507

Зависает программа при отсутствии интернет подключения

23.01.2012, 14:19. Показов 1817. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа переходит в режим "не отвечает" если отсутствует подключение к интернет. Конструкция try-catch не помогает. Как можно обезопасить себя от незапланированного вылета программы и предупредить пользователя "почему не работает?".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2012, 14:19
Ответы с готовыми решениями:

Программа автоматически парсит сайт и не отвечает при отсутствии интернет-соединения
Моя программа автоматически парсит сайт, но как только соединение с интернетом открывается программа виснет на несколько минут, потом...

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

Как прервать выполнение тестового метода при отсутствии соединения с Интернет
В проекте с юнит-тестами (VS 2010) есть метод, который тестирует некую функцию. Но чтобы ее протестировать, нужно инет-подключение....

8
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.01.2012, 14:24
Цитата Сообщение от ushim Посмотреть сообщение
Конструкция try-catch не помогает.
А как она написана?

Цитата Сообщение от ushim Посмотреть сообщение
Программа переходит в режим "не отвечает" если отсутствует подключение к интернет.
А что вообще делает программа? Пример кода?

Цитата Сообщение от ushim Посмотреть сообщение
Как можно обезопасить себя от незапланированного вылета программы и предупредить пользователя "почему не работает?".
C#
1
2
3
4
5
6
7
8
try
{
    // Проверяемый код
}
catch
{
    // Сообщение об ошибке
}
0
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
23.01.2012, 14:38  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
try
            {
                string http = "http://cyberforum.ru";
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(http);
                WebResponse resp = req.GetResponse();
                Stream stream = resp.GetResponseStream();
                return new StreamReader(stream, Encoding.Default).ReadToEnd();
            }
            catch
            {
                taskBarItem.ProgressState = System.Windows.Shell.TaskbarItemProgressState.Error;
                return "Ex";
            }
Отключаем интернет - ловим "не отвечает"
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.01.2012, 14:42
ushim, отключил, запустил следующий код:
C#
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
using System;
using System.Net;
using System.IO;
using System.Text;
 
class Program
{
    static void Main()
    {
        try
        {
            string http = "http://cyberforum.ru";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(http);
            WebResponse resp = req.GetResponse();
            Stream stream = resp.GetResponseStream();
 
            Console.WriteLine(new StreamReader(stream, Encoding.Default).ReadToEnd());
        }
        catch
        {
            Console.WriteLine("Error");
            //taskBarItem.ProgressState = System.Windows.Shell.TaskbarItemProgressState.Error;
            //return "Ex";
        }
    }
}
Результат на экране: "Error".
0
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
23.01.2012, 14:45  [ТС]
Вот и я о том же. Я знаю что данный код 99,99% работает, но видимо мой интернет или компьютер один такой глупый, что не может элементарно отследить подключение интернет. Примечательно что при отправке сообщения не электронку он ловит Exception.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.01.2012, 14:47
ushim, может программа вообще не в этом месте виснет? (:
0
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
23.01.2012, 14:55  [ТС]
скажу больше. виснет вот тут req.GetResponse(); 100%
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
23.01.2012, 15:05
как насчет запуска проверки в отдельном потоке?
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.01.2012, 15:06
ushim, вероятно он пытается сделать несколько попыток подключения.
Попробуй покрутить у него свойства ReadWriteTimeout и Timeout. Или запустить весь код в отдельном потоке, вывести сообщение пользователю "Подождите" и глянуть зависнет ли программа.

Или попробовать так получить содержимое страницы:
C#
1
var content = new WebClient { Encoding = Encoding.UTF8 }.DownloadString(http);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2012, 15:06
Помогаю со студенческими работами здесь

Как отловить сообщение об отсутствии подключения к интернету?
Всем привет. Скачиваю файлы через поток и пользуюсь блоками try...except. Но вот хочу сообщение об отсутствии интернета отдельно вывести не...

Загрузка данных на сервер при появлении подключения к интернет
Друзья. Есть php скрипт на локалхосте. Этот скрипт заполняет локальную базу какими то данными. И есть точно такой же скрипт на удаленном...

Сбой системы при создании интернет подключения в Windows 8
После установки Windows 8, пытался создать интернет подключение,но по завершении создания подключения происходит сбой системы,появляется...

Windows 10 - проблемы подключения к Интернет при установке 1809
Windows 10 автоматически обновилась до 1809, после этого не работает ряд программ - проблемы с соединением у Telegram, Skype, самой Windows...

Настройка сетевого подключения по умолчанию в rashbian для подключения к сети интернет
Всем здравствуйте! На orange PI zero поднял ОС rashbian с необходимым ПО. Всё работает как надо. Но есть проблемка! Нужно...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru