Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.056 c
1-1106568628
netmouse
2005-01-24 15:10
2005.02.06
Открытие текстового файла


9-1099683392
Xenon
2004-11-05 22:36
2005.02.06
Как организовать перемещение


14-1105780863
iZEN
2005-01-15 12:21
2005.02.06
Современный Фотохудожник.


1-1106300202
Arm79
2005-01-21 12:36
2005.02.06
какую библиотеку компонентов (не хуже RxLib) порекомендуете?


4-1103448057
banderas
2004-12-19 12:20
2005.02.06
Drag&amp;Drop файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский