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

Вниз

Определение соединения с интернетом   Найти похожие ветки 

 
Wahnsinng ©   (2006-11-29 21:42) [0]

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


 
grisme ©   (2006-11-30 00:25) [1]

Попробуй получить адрес какого-нибудь удаленного хоста :] GetHostByName, если nil - скорее всего не подключены.


 
Сергей М. ©   (2006-11-30 09:31) [2]


> при отключении инттернета


Что такое "отключение интернета" ?


 
iXT   (2006-11-30 15:56) [3]


> Сергей М. ©   (30.11.06 09:31) [2]
> Что такое "отключение интернета" ?


Это такой рубильник (красного цвета похожий на стоп-кран в самолете). Оп, и нету интернета.


 
novill ©   (2006-11-30 15:59) [4]

> [0] Wahnsinng ©   (29.11.06 21:42)
> отключении инттернета программа зависает на некоторое время.

проверять подключение в отдельном потоке.


 
iXT   (2006-11-30 16:01) [5]


> Wahnsinng ©   (29.11.06 21:42)  

Это не подвисание


 
EIen ©   (2006-12-01 10:02) [6]

Wahnsinng ©   (29.11.06 21:42)
Попробуй так:

uses ... WinInet;
function TForm1.isconnected : Boolean ;
var
 connectiontype: DWORD ;
begin
 connectiontype:=INTERNET_CONNECTION_MODEM
                 + INTERNET_CONNECTION_LAN
                 + INTERNET_CONNECTION_PROXY ;
 Result:=InternetGetConnectedState(@connectiontype,0);
end;


Если не затруднит, сообщи результат, у меня вроде бы отрабатывает (но я не в локалке)


 
iXT   (2006-12-01 16:18) [7]

ICMP !!!


 
wahnsinng ©   (2006-12-03 16:10) [8]

EIen. Ваш способ не работает. Я его уже проверял:    отключаю dsl модем и он все равно говорит что интернет работает.


 
iXT   (2006-12-04 15:05) [9]


> wahnsinng ©   (03.12.06 16:10)

Смотри:
проснулся ты со страшного бодуна (ну предположим был в бане 31 декабря).
Кругом все такие же - где никто не знает. Надо определить: "В вытрезвителе вы или нет"

Что будешь делать?

:)


 
DVM ©   (2006-12-04 15:23) [10]


> Что будешь делать?

SOS на мобильнике набрать.


 
wahnsinng ©   (2006-12-04 17:43) [11]

iXT Берешь и спрашиваешь у работников вытрезвителя.


 
wahnsinng ©   (2006-12-04 17:44) [12]

Смотрите покойника назад понесли!


 
iXT   (2006-12-04 18:04) [13]

to wahnsinng ©   (04.12.06 17:43) [11]

т.е. в данной ситуации ты конкретно знаешь что и у кого ты должен спросить.

Вот когда ты соединение обрываешь, тебе ответ никто и не говорит (никто не отвечает).
А ждать(слушать) ты его как долго будешь?


 
kroner   (2006-12-04 18:09) [14]


> wahnsinng ©   (03.12.06 16:10) [8]
> EIen. Ваш способ не работает.

Вот еще один -
Для работы Вам необходимо импортировать функцию InetIsOffline из URL.DLL:

function InetIsOffline(Flag: Integer): Boolean;
stdcall; external "URL.DLL";

а затем поместить в программу простой вызов функции для проверки статуса соединения:

if InetIsOffline(0) then
 ShowMessage("This computer is not connected to Internet!")
else
 ShowMessage("You are connected to Internet!");


но ещё нужно учитывать, что функция эта выдает false не только, когда комп подключен к Интернету, но и когда ЕЩЕ НЕ БЫЛО ПОПЫТОК подключения (or if no attempt has yet been made to connect to the Internet), как сказано в официальной документации Microsoft по MSDN...


 
kroner   (2006-12-04 18:12) [15]

и еще
http://kladovka.net.ru/delphibase/?action=viewfunc&topic=netconnect&id=10116


 
wahnsinng ©   (2006-12-04 21:12) [16]

iXT Да я уже нашел, что искал спасибо.


 
iXT   (2006-12-05 09:20) [17]


> iXT Да я уже нашел, что искал спасибо.


Ну ты же не сказал об этом. (до этого)

ЗЫ
 1. Лучше указывать не имя, а какой-нить IP - допустим есть соединение, но не указан (к примеру специально) сервер DNS
 2. Какой-нить фаер может закрывать ICMP и результат у тебя будет неправильный.



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
3-1175225696
O.O
2007-03-30 07:34
2007.06.24
Как составить запрос


6-1164965704
Novic
2006-12-01 12:35
2007.06.24
Запустить самостоятельный процесс на сервере


2-1180707736
navinavi
2007-06-01 18:22
2007.06.24
Глобольный HOOK


11-1162384310
vampir_infernal
2006-11-01 15:31
2007.06.24
Увеличение размера файла в KOL 2.41a


15-1180424184
Int23
2007-05-29 11:36
2007.06.24
Где взять прогнозы погоды за 2005 год?





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