Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с функцие определения подключения к интернету [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Windows ©   (2005-08-26 10:19:00) 

Вообщем, есть функа

function IsConnectedToInternet: Boolean;
var
  dwConnectionTypes: DWORD;
begin
  dwConnectionTypes :=
    INTERNET_CONNECTION_MODEM +
    INTERNET_CONNECTION_LAN +
    INTERNET_CONNECTION_PROXY;
  Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;

Она определяет наличие подключение к интернету.
Следующие параметры определяют определенное подключение.
INTERNET_CONNECTION_MODEM   -   Использование модема.
INTERNET_CONNECTION_LAN     -   Использование Локал сети.
INTERNET_CONNECTION_PROXY   -   Использование интернета через прокси.

Значит, мне, нужно чтобы функция, определяла, только подключение к интернету, а не подключение по локальной сети.

Но отсюда проблема.
 Сейчас есть Спутниковый интернет, интернет через кабель(скоростной), так же через мобильник.

Как из это функции сделать так, чтобы она определяла есть ли подключение к интернету. Но так, чтобы она молчала, если есть связь с локальной сетью. Как это сделать?


DeathLess   (2005-09-02 05:23:00) [1]

InternetCheckConnection('yandex.ru',1,0)

Функция из WinInet.dll пингует указаный адрес


Критик   (2005-09-01 20:56:00) [2]

Хорошая идея проверки наличия подключения к Интернет- просто организовать пингование известного сайта, например mail.ru


Digitman   (2005-08-26 16:20:00) [3]


> проверяла бы указанный ЮРЛ


проверить URL на доступность нельзя.

можно проверить лишь доступность хоста, имя или адрес которого фигурирует в URL

для этого существует ICMP-протокол

см. ф-ции IcmpCreateFile, IcmpSendEcho


Windows   (2005-08-26 16:09:00) [4]

Тогда, я вынужден попросить, функцию, которая проверяла бы указанный ЮРЛ, и возвраща ТРУ, если ЮРЛ найден, таким способом можно решить мою проблему, я думаю...


Digitman   (2005-08-26 14:04:00) [5]


> Как из это функции сделать так, чтобы она определяла есть
> ли подключение к интернету


никак.

"подключение к интернету" - это нонсенс, чушь.

подключиться можно лишь к другому компьютеру или хабу.

а интеренет - это не хаб и не компьютер, это глобальная сеть локальных сетей.

какждая лок.сеть, в свою очередь, состоит из компьютеров

когда ты "подключаешься к интернет", ты подключаешься всего лишь к одному из компьютеров сети того или иного интернет-провайдера (способы ты перечислил - модемное соединение , высокоскоростные кабельные линии, спутниковый канал и пр.)

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

Вот и подумай, нужна ли такая ф-ция ..


Antonn   (2005-08-26 13:53:00) [6]

соединение через удаленное соединение?


Windows   (2005-08-26 13:12:00) [7]

Не, ну хоть бы кто нить посмотрел!


Наверх

Титульная страница Поиск, карта сайта Написать письмо