Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
1

Проверка "Или есть соиденение с Интернетом"

07.06.2011, 17:32. Показов 2833. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем, как можно проверить или есть связь с интернетом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2011, 17:32
Ответы с готовыми решениями:

Есть ли для win8 какие либо утилиты или плагины повышающие удобство пользования интернетом ?
Приветствую. Такой вопрос появился, а есть для win8 какие либо утилиты или плагины для chrome,...

Проверка есть ли файл или нет
if exist = "Cl\new.txt" pause @Echo Off If Exist "new.txt" ( Echo File Exist Del *.txt...

Проверка таблиц есть или нет
Всем привет!!! У меня один вопрос можно ли узнать в базе таблица есть или нет, например хочу...

Проверка соединения с интернетом
Здравствуйте уважаемые обитатели. Я через свою программу, скачиваю из интернета файл. Все...

Проверка соединения с интернетом
Будет ли исправно работать этот способ на всех компьютерах? На форме компонент Powersock из вкладки...

26
LK
Заблокирован
07.06.2011, 17:53 2
C++
1
2
3
4
5
6
7
8
9
#include <intshcut.h>
...
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
  if(InetIsOffline(0)) {
    ShowMessage("Не подключен.");
  else
    ShowMessage("Подключен.");
}
1
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 18:03  [ТС] 3
LK, спс
0
LK
Заблокирован
07.06.2011, 18:21 4
gorin, а где мой честно заработанный рубль ?
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 19:46  [ТС] 5
LK, Четео постоянно выбивает что подключено!!!
0
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
07.06.2011, 19:47 6
gorin, значит нажимаете все время на кнопку))
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 19:52  [ТС] 7
Этот код
C++
1
2
3
4
  if(InetIsOffline(0))
    ShowMessage("Не подключен.");
  else
    ShowMessage("Подключен.");
постоянно при нажатии на кнопку выбивает "Подключон."

Добавлено через 1 минуту
даже если нет отключать!
0
LK
Заблокирован
07.06.2011, 20:08 8
http://www.delphimaster.net/view/6-1087317889
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 20:37  [ТС] 9
LK, А как импортировать функцию InetIsOffline из URL.DLL
Delphi
1
function InetIsOffline(Flag: Integer): Boolean; stdcall; external "URL.DLL";
Добавлено через 20 минут
не нужнол подключать "#include <intshcut.h>"?
0
Прогер
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
07.06.2011, 20:39 10
gorin,
Да нужно но ето ф-цыя работает толко под win98 и то даёт true или false
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 21:13  [ТС] 11
Programmer., А какуето другую функцию можно использовать?

Добавлено через 2 минуты
Может какойто компонент есть из библиотеки компонентов "Indy"? Для проверки соидинения с интернетом.
0
LK
Заблокирован
07.06.2011, 21:17 12
Как проверить наличие соединения с Интернетом\Сетью

Добавлено через 1 минуту
еще можно пслать пинг по какому-нибудь адресу
0
Прогер
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
07.06.2011, 21:40 13
gorin, Скинте на форме TIdHTTP и в Button1Click пишите код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm24::Button1Click(TObject *Sender)
{
try{
  IdHTTP1->Get(L"http://www.google.ru");
   ShowMessage(L"You are connected to internet");
}
catch(EIdHTTPProtocolException &e)
{
 ShowMessage(e.ErrorMessage);
}
catch(...)
{
    ShowMessage(L"Exception");
}
 
}
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 22:35  [ТС] 14
LK, Я по той теме посмотрел!!
Выбрал код
C++
1
2
3
4
5
6
7
8
9
   DWORD flags;
   flags = INTERNET_CONNECTION_MODEM +
           INTERNET_CONNECTION_LAN +
           INTERNET_CONNECTION_PROXY;
 
   if(!InternetGetConnectedState(&flags, 0)) 
      MessageBox(0, "Нет соединения с сетью", "Внимание", MB_OK + MB_ICONWARNING);
   else
      MessageBox(0, "Соединение с сетью установлено", "Внимание", MB_OK + MB_ICONWARNING);
Работает отлично. А как можно в цикле зделать проверку, например цикл начался и неожыдано интерент оборвался и чтобы выбивало сообщение.
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
27
28
29
30
31
32
33
    flags=INTERNET_CONNECTION_MODEM+INTERNET_CONNECTION_LAN+INTERNET_CONNECTION_PROXY;
    for(i=0;i<bsSkinListBox2->Items->Count;i++)
    {
        int a,b;
        a=rand() % s;
        b=rand() % s;
        if(bsSkinCheckListBox1->Checked[i] == true)
        {
            dataGoogle = IdHTTP1->Get(httpGoogle+bsSkinListBox2->Items->operator [](i));
            bsSkinMemo2->Lines->Add("  "+IntToStr(bsSkinMemo2->Lines->Count+1)+". Результат: ("+dataGoogle+") "+a+" мсек.");
            bsSkinCheckListBox1->Checked[i]=false;
            Sleep(a);
        }
        if(bsSkinCheckListBox4->Checked[i] == true)
        {
            dataYandex = IdHTTP1->Get(httpYandex+bsSkinListBox2->Items->operator [](i));
            bsSkinMemo2->Lines->Add("  "+IntToStr(bsSkinMemo2->Lines->Count+1)+". Результат: ("+dataYandex+") "+b+" мсек.");
            bsSkinCheckListBox4->Checked[i]=false;
            Sleep(b);
        }
 
        if(bsSkinSpeedButton14->Caption=="Отменить Ping")
        {
            break;
            bsSkinMemo2->Clear();
        }
        if(!InternetGetConnectedState(&flags, 0))
        {
            MessageBox(0, "Нет соединения с сетью", "Внимание", MB_OK + MB_ICONWARNING);
        }
        Timer1->Enabled = false;
        Application->ProcessMessages();
    }
0
LK
Заблокирован
07.06.2011, 22:54 15
таймер там есть, вот проверяйте по таймеру
C++
1
2
if(!InternetGetConnectedState(&flags, 0)) 
      MessageBox(0, "Нет соединения с сетью", "Внимание", MB_OK + MB_ICONWARNING);
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 22:57  [ТС] 16
LK, не в цыкле?
0
LK
Заблокирован
07.06.2011, 23:04 17
по мне, лучше в таймере, он себе тикает... проверяет... даже не знаю, как на такое цикл замутить .
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 23:13  [ТС] 18
LK, Я делал так
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    flags=INTERNET_CONNECTION_MODEM+INTERNET_CONNECTION_LAN+INTERNET_CONNECTION_PROXY;
    for(i=0;i<bsSkinListBox2->Items->Count;i++)
    {
        int a,b;
        a=rand() % s;
        b=rand() % s;
        if(bsSkinCheckListBox1->Checked[i] == true)
        {
            if(!InternetGetConnectedState(&flags, 0))
            {
                MessageBox(0, "Нет соединения с сетью", "Внимание", MB_OK + MB_ICONWARNING);
                break;
            }
            else
            {
                dataGoogle = IdHTTP1->Get(httpGoogle+bsSkinListBox2->Items->operator [](i));
                bsSkinMemo2->Lines->Add("  "+IntToStr(bsSkinMemo2->Lines->Count+1)+". Результат: ("+dataGoogle+") "+a+" мсек.");
                bsSkinCheckListBox1->Checked[i]=false;
                Sleep(a);
            }
        }
        if(bsSkinCheckListBox4->Checked[i] == true)
        {
            if(!InternetGetConnectedState(&flags, 0))
            {
                MessageBox(0, "Нет соединения с сетью", "Внимание", MB_OK + MB_ICONWARNING);
                break;
            }
            else
            {
                dataYandex = IdHTTP1->Get(httpYandex+bsSkinListBox2->Items->operator [](i));
                bsSkinMemo2->Lines->Add("  "+IntToStr(bsSkinMemo2->Lines->Count+1)+". Результат: ("+dataYandex+") "+b+" мсек.");
                bsSkinCheckListBox4->Checked[i]=false;
                Sleep(b);
            }
        }
        if(bsSkinSpeedButton14->Caption=="Отменить Ping")
        {
            break;
            bsSkinMemo2->Clear();
        }
        Timer1->Enabled = false;
        Application->ProcessMessages();
    }
Вроди работает! но когда связ обрываетса - ошыбка
First chance exception at $7C812AEB. Exception class EIdSocketError with message 'Socket Error # 10054
Connection reset by peer.'. Process Project1.exe (2044)

строка
C++
1
dataGoogle = IdHTTP1->Get(httpGoogle+bsSkinListBox2->Items->operator [](i));
0
LK
Заблокирован
07.06.2011, 23:16 19
вот и перехватывайте это исключение и пишите свое сообщение
0
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
07.06.2011, 23:30  [ТС] 20
LK, а как?
0
07.06.2011, 23:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2011, 23:30
Помогаю со студенческими работами здесь

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

Проверка соединения с интернетом
Скажу честно, никогда не писал bash скрипты и мне это не нужно, но встал вопрос написания скрипта...

Проверка на соединение с интернетом
Всем привет. Уже 100500 вариантов пересмотрел насчет проверки соединения с интернетом, но 100%...

Проверка соединения с интернетом
подскажите пожалуйста возможнео ли реализовать проверку на наличие соединения с нетом не посылая...

Проверка соединения с Интернетом
Ребят, как узнать есть ли доступ в Интернет?

Проверка соединения с интернетом
Вообщем я тут сидел и думал как проверить интернет, и вот надумал такой простой метод. Он...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru