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

Вниз

Проблема с функцие определения подключения к интернету   Найти похожие ветки 

 
Windows ©   (2005-08-26 10:19) [0]

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

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   -   Использование интернета через прокси.

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

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

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


 
Windows ©   (2005-08-26 13:12) [1]

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


 
Antonn ©   (2005-08-26 13:53) [2]

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


 
Digitman ©   (2005-08-26 14:04) [3]


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


никак.

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

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

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

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

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

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

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


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

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


 
Digitman ©   (2005-08-26 16:20) [5]


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


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

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

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

см. ф-ции IcmpCreateFile, IcmpSendEcho


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

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


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

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

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



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

Форум: "Сети";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
2-1132669419
Wolferio
2005-11-22 17:23
2005.12.11
ShellListView


4-1124891807
Dr.Nemo
2005-08-24 17:56
2005.12.11
Как подловить запуск приложения


2-1132428043
Officeman
2005-11-19 22:20
2005.12.11
Edit1.text как запретить вводить буквы и разрешить цифры


4-1129026072
Alex_Korn
2005-10-11 14:21
2005.12.11
Размер стека


14-1132149687
Red_imp
2005-11-16 17:01
2005.12.11
Прикольная задачка но может быть и была она тут тогда извините





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский