|
Вопрос # 4 956/ вопрос решён / |
|
Приветствую, уважаемые эксперты!
Каким образом можно узнать подключен данный компьютер к интернету или нет?
При использовании приложенного компонента можно узнать подключен ли модем или нет, но не состояние подключения к интернету!
Хочется найти метод который работал бы независимо от типа модема и соединения!
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
 |
Вопрос задал: prorok-kane (статус: Посетитель)
Вопрос отправлен: 25 января 2011, 17:53
Состояние вопроса: решён, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, prorok-kane!
Открою большущий секрет. такого метода нет и быть не может.
Для начала нужно определиться, а что такое "есть интернет?".
Для одних это нужно что бы открывались разные сайты, подключались различные клиенты (скайп, аська, джаббер). А для других (и так миллионы), что бы работал ВКонтакт.
Так вот нужно начинать с этого.
Например, для некоторых хватает пропинговать сайт гугла или яндекса. И если пинг идет, то все ок. Но и они могут падать (и такое было!).
А может быть ситуация и похлеще - в каком-нибудь офисе, где хитрый админ забанил пол интернета.
Я бы сделал так. Взял бы пример пинга и пинговал 4.4.4.4 (это один с корневых dns серверов. то, что он упадет - практически нереально. А если он не пингуется, значит либо на компе нет интернета, либо вся мировая сеть начала падать, либо просто у провайдера неполадки). Или попинговать 8.8.8.8 (это гугловский OpenDNS).
Если первый тест прошел удачно, то дальше я бы попинговал по имени гугл, яндекс, или что то подобное.
И третий, последний тест - скачать страничку с какого то сайта. тут поможет idHttp.get('http://ya.ru'); с пакета indy
И лишь после прохождения этих тестов я бы предополагал, что интернет вроде есть.
Если же Ваша программа работает с каким то специфическим сайтом (например с Facebook), то просто пытаемся скачать его заглавную страницу. Если это не получается, то выводим "нет интернета или заданный сайт недоступен".
Но не нужно забывать о всяких фаерволах:).
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 25 января 2011, 18:21
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 25 января 2011, 22:50; участников в обсуждении: 3.
|
prorok-kane (статус: Посетитель), 25 января 2011, 18:43 [#1]:
Мне просто нужно, чтобы допустим ночью компьютер подключен к интернету и передаёт данные по p2p сети, но если он отключиться от интернета и не подключиться назад, то нужно выключить компьютер.
Сейчас пробую данный код, но в нём проблема лишь в том, что его нужно перенести на RAD Studio 2010, но это уже считай и не проблема вовсе!
|
|
Вадим К (статус: Академик), 25 января 2011, 18:52 [#2]:
ну можно использовать компоненты indy (они там должны быть) и раз в пять минут качать страницу провайдера к примеру.
Но нужно помнить, что там нужно ещё проверить, что это правильная страница.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 25 января 2011, 21:37 [#3]:
Да чо вы паритесь? Если не качается целевая инфа с целевых хостов, значит инета нету! И похрену, что пингуется ya.ru или 4.4.4.4! Не с той стороны рассматриваете проблему.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
prorok-kane (статус: Посетитель), 25 января 2011, 21:47 [#4]:
Тогда с какой нужно смотреть?
|
|
min@y™ (статус: Доктор наук), 25 января 2011, 22:04 [#5]:
Цитата (prorok-kane):
Тогда с какой нужно смотреть?
Пингуй хост тот, хочешь откуда данные получить, юный падаван!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
prorok-kane (статус: Посетитель), 25 января 2011, 22:24 [#6]:
В p2p сети я даже и не знаю откуда буду инфу получать!
Но всё же спасибо за совет!
|
|
min@y™ (статус: Доктор наук), 25 января 2011, 22:31 [#7]:
Цитата (prorok-kane):
и не знаю откуда буду инфу получать!
Интересно, а в проге тогда ты как ... Господи, ну что я говорю?.. Этот грешник не знает принципов сетевого обмена и TCP/IP!..
Всё, спать, спать, спать. Утром на работу!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
prorok-kane (статус: Посетитель), 25 января 2011, 22:50 [#8]:
Всё вкурил смысл сказанного!
Даже тот-же торрент отправляет запрос на сервер(хост) о пользователях у которых есть необходимая мне информация и находящихся в сети, а затем при помощи пришедшей информации (IP-адреса) мы подключаемся к ним и получаем информацию.
Я влез в данную тему лишь из любопытства и поэтому я еще мало чего знаю!
|
25 января 2011, 22:52: Статус вопроса изменён на решённый (изменил автор вопроса — prorok-kane)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|