Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Как програмно определить подключён ли компьютер к интернету.   Найти похожие ветки 

 
Aleks   (2005-01-21 15:01) [0]

Как програмно определить подключён ли компьютер к интернету.


 
Separator ©   (2005-01-21 15:10) [1]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621171&n=20
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988620751&n=20


 
Style ©   (2005-01-21 15:17) [2]

Ну я думаю тебе все равно нужен инет для того, что бы обратиться к какому нибудь адресу, ну дык и проверь его:


var
 Host: PHostEnt;

begin
 host:=GetHostByName("ya.ru");
    if Host = nil then ShowMessage("Access denied!")
        else ShowMessage("OK!")


 
Digitman ©   (2005-01-21 15:17) [3]


> Aleks   (21.01.05 15:01)  
> Как програмно определить подключён ли компьютер к интернету.


никак.


 
Aleks   (2005-01-21 16:25) [4]

PHostEnt; у меня Делфи на это ругаются говорят не декларированна


 
Style ©   (2005-01-21 16:28) [5]


> PHostEnt; у меня Делфи на это ругаются говорят не декларированна


uses WinSock;


 
Piter ©   (2005-01-21 16:54) [6]

Style ©   (21.01.05 15:17) [2]

ты проверяешь только разрешимость доменного имени. Это может говорить как о нормальной работе DNS сервера.... а может и не говорить об этом :)
Например, тупо прописать ya.ru в HOSTS


 
Aleks   (2005-01-21 17:26) [7]

У меня Host всегда равен nil при подключённом нете и отключонном
Где я ошибся?????


 
Digitman ©   (2005-01-21 17:56) [8]


> Aleks   (21.01.05 17:26) [7]


> Где я ошибся?????


ты ошибся в том, что считаешь "подключенность к интернету" и "отключенность от интернета" реально существующими фактами.

НЕЛЬЗЯ ни подключиться к Интернету, ни отключиться от Интернета.

пойми - НЕЛЬЗЯ !!!!


 
Style ©   (2005-01-21 18:02) [9]


> Например, тупо прописать ya.ru в HOSTS


Я думаю он не будет прописываит ya.ru в hosts :) ИБО СМЫСЛ???


> Aleks   (21.01.05 17:26) [7]

Ну, точно нужно инициализировать WSA!!

var
Host: PHostEnt;
Version: integer;
Res: integer;
FWsa: WSADATA;
begin
 Version := MakeWord(2,2);

 Res := WSAStartup(Version, FWSA);
 if ( Res <> 0 ) then raise Exception.Create(SysErrorMessage(GetlastError));

 host:=GetHostByName("ya.ru");
    if Host = nil then ShowMessage("Access denied!")
        else ShowMessage("OK!");

 WSACleanup;

end;


 
Piter ©   (2005-01-21 19:04) [10]

Style ©   (21.01.05 18:02) [9]
Я думаю он не будет прописываит ya.ru в hosts


а я думаю, что он и так знает - в интернете он или нет. Зачем нужна программа?


 
kaZaNoVa ©   (2005-01-21 19:25) [11]

Piter ©   (21.01.05 19:04) [10]
не надо "умных" споров, "классика" юзер на диалапе/GPRS тогда подключение либо есть либо нет ...

по логике программы надо это узнать ..

имхо лучший способ - PING


 
Aleks   (2005-01-21 19:48) [12]

Написал программу для скачивания различных рисунков с инета в Авто режиме, работает нормально (уже скачал штук 300). так перед скачиванием надо проверить есть соединение или нет.


 
Aleks   (2005-01-21 19:53) [13]

Всем большое спасибо . :)
Отдельное Style всё работает на ура.

Вопрос закрыт.


 
Piter ©   (2005-01-21 20:20) [14]

kaZaNoVa ©   (21.01.05 19:25) [11]
"классика" юзер на диалапе/GPRS


если ты сидишь сам на GPRS, то это не значит что это классика.
В Москве, например, сейчас классика это ADSL и соединение через VPN сервер

kaZaNoVa ©   (21.01.05 19:25) [11]
имхо лучший способ - PING


ну если твоя задача пропинговать - действительно лучший. А если нет...
Сервер ведь может и не отвечать на пинг, но в тоже времяна нем может успешно работать HTTP/FTP/IRC демоны...

Нужно просто попытаться сделать то, что нужно. Если нужно отправить HTTP запрос и получить ответ - то нужно именно это и сделать. Если не получится - значит нет соединения. И неважно, нету ли вообще на компьтере подключений к сетям, или данный сайт в дауне, или апач в дауне, или пользователь фпйерволом запретил - для конечной программы это пофигу. Не удалось - значит не удалось. Все, никаких из этого выводов делать не нужно.


 
Anatoly Podgoretsky ©   (2005-01-21 21:17) [15]

kaZaNoVa ©   (21.01.05 19:25) [11]
Нет, лучших способов вообще не существует. Единственно возмоможное это получения нужного ресурса, если не получил, то данный ресурс недоступен, но вполне возможно доступен другой, на этом или другом сайте.


 
Piter ©   (2005-01-21 22:35) [16]

Anatoly Podgoretsky ©   (21.01.05 21:17) [15]

интересно наблюдать, как Анатолий поменял свое мнение! Раньше он то с уверенностью говорил что такое интернет, а я его пытался переубедить. Неужели получилось? :)


 
Defunct ©   (2005-01-22 02:55) [17]

Piter ©   (21.01.05 22:35) [16]

Что ж такого Анатолий говорил про интернет?

Digitman ©   (21.01.05 17:56) [8]

> "подключенность к интернету" и "отключенность от интернета"
> реально существующими фактами.

Философия..

Деньги за инет провайдеры берут, а что они дают? Связь с интернетом, соответственно раз оплачено, значит по крайней мере "подключенность к интернету" - есть реально существующий факт.


 
Digitman ©   (2005-01-22 12:09) [18]


> Defunct ©   (22.01.05 02:55) [17]


> "подключенность к интернету" - есть реально существующий
> факт


вот это уж точно "философия".
провайдер дает возможность узлу пользователя стать одним из узлов его (провайдера) сети.. факт же становления узла пользователя узлом сети провайдера вовсе не говорит о факте "подключения к интеренет"


 
uny ©   (2005-01-22 12:19) [19]

>...факт же становления узла пользователя узлом сети провайдера...
можно вспомнить о целях. если не для интернета - то зачем к провайдеру в сеть? да ещё за деньги. да и название - пользователь - пользователь чего? да ещё в сети провайдера
:)


 
Anatoly Podgoretsky ©   (2005-01-22 13:12) [20]

Piter ©   (21.01.05 22:35) [16]
Что то с памятью моей стало.

Defunct ©   (22.01.05 02:55) [17]
Провайдер предоставляет канал и маршрутизацию, а будет ли это Интернет это еще как сказать. Иногда провайдер не предоставляет ни того ни другого, а только возможность пользования прокси, а канал предоставляет телефонная компания.


 
aus   (2005-01-22 13:12) [21]

uny ©   (22.01.05 12:19) [19]
А такой вариант:
в сеть провайдера я вошел, но ничего кроме его страницы не грузится, есть интернет или нет? Деньги идут за время, стало быть есть? Понятие Интеренет сжалось до 1 страницы. Диалектика, однака....


 
Anatoly Podgoretsky ©   (2005-01-22 13:19) [22]

aus   (22.01.05 13:12) [21]
Нет, поскольку по определению Интернет, это всеобщая сеть, по другому объединения сетей. Деньги берутся за подключение к провайдеру, а что провайдер предоставляет (по английски провайдит) это вопрос договора и добропорядочности провайдера.


 
uny ©   (2005-01-22 13:26) [23]

[21] aus   (22.01.05 13:12)
деньги не идут, имя и пароль - тест, на карточке написано, почитайте.

а вообще это какой то подход интересный. пример - нужно грузить кирпич,
грузчик спрашивает о тарификации, говорит типа -
за взять, поднять, положить кирпич сколько получу. а ему отвечают - что вы понимаете под взять, может вы себе взять хотите? да и положить можно по разному, вы определитесь точнее и спросите точнее
:)

да и карточка обычна одна, а не десять, и мне без разницы как деньги расходятся с неё(если стоимость услуги устраивает) наверно всетаки правильно в америке сделали - по закону нельзя работать на определённых работах, если образование выше(именно выше) чем требуется


 
Digitman ©   (2005-01-22 13:36) [24]


> в сеть провайдера я вошел, но ничего кроме его страницы
> не грузится, есть интернет или нет?


да, есть.
твой хост стал хостом сети провайдера, и с этого момента считай что "интернет есть", ибо интернет - это сеть сетей.

а вот маршрутизировать ли запросы твоего хоста к иным хостам иных сетей - это прерогатива провайдера.

твой хост становится хостом сети провайдера и в случае тестового подключения к его сети (за это, кстати, ни один нормальный провайдер денег не берет), и даже в ЭТОМ случае ты уже "вошел в интернет" ! .. ибо ты стал хостом некоей сети...


 
Digitman ©   (2005-01-22 13:39) [25]


> uny


более того - как только твой комп стал хостом локальной сети, то с этого момента ты УЖЕ "вошел в интернет".


 
aus   (2005-01-22 13:45) [26]

uny ©   (22.01.05 13:26) [23]
на карточке написано

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

Digitman ©   (22.01.05 13:36) [24]

Пример ненормального провайдера http://www.norcom.ru
Но все это еще раз подтверждает относительность понятия "Есть подключение к интернет".


 
Piter ©   (2005-01-22 18:11) [27]

Anatoly Podgoretsky ©   (22.01.05 13:12) [20]
Что то с памятью моей стало


процитировать не знаю откуда, но вы говорили "Ну с интернетом это как раз просто. Интернет - это..." и дальше следовало определение, не помню какое...


 
Anatoly Podgoretsky ©   (2005-01-22 19:27) [28]

Piter ©   (22.01.05 18:11) [27]
Ну так ты вспомни, вероятнее всего придешь к определению, Digitman ©   (22.01.05 13:36) [24]


 
OlegP ©   (2005-01-22 22:01) [29]

Piter ©   (21.01.05 20:20) [14]
В Москве, например, сейчас классика это ADSL и соединение через VPN сервер

10/100 мегабитная выделенка - лучше просто ничего не надо... Для дома за глаза!


 
Piter ©   (2005-01-22 22:42) [30]

OlegP ©   (22.01.05 22:01) [29]
10/100 мегабитная выделенка - лучше просто ничего не надо... Для дома за глаза!


Это к чему было сказано? Похвастаться что ли?



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.054 c
4-1103190803
alnikkom
2004-12-16 12:53
2005.02.06
Oбработка исключений в DLL


3-1105217976
TechnoDreamer
2005-01-08 23:59
2005.02.06
Сложный поиск (ADO)


14-1103740532
Alexander Panov
2004-12-22 21:35
2005.02.06
Выборы в Украине. Противостояние. (Продолжение 5 - шестая ветка)


6-1100879482
Chery
2004-11-19 18:51
2005.02.06
Как скопировать файл с клиента на сервер?


3-1104398535
aztech
2004-12-30 12:22
2005.02.06
Отключаю ADOTable входит ошибка EOF и BOF true?