Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
3-1175167503
nick_van_rijn
2007-03-29 15:25
2007.06.24
ошибка начала транзакции


2-1180677346
Kolan
2007-06-01 09:55
2007.06.24
Объясните, я что отчет могу только для бд сделать?


2-1180898093
programmist87
2007-06-03 23:14
2007.06.24
Не удаётся печать из Turbo Pascal 7.0


8-1160305271
AlterEgo of WondeRu
2006-10-08 15:01
2007.06.24
"DirectShow по-русски"


1-1177312379
assa
2007-04-23 11:12
2007.06.24
Выборочная обработка wm_mousedown