Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Соединение с Интернет, Как определить, есть ли соединение? 
:(
    Опции темы
v258
Дата 23.7.2005, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: нет
Всего: 2



В продолжение темы. По тестированию на кабеле у одного из моих пользователей. RasConnectionCount корректно определяет отключение от Инета, но возвращает 1 уже при вызове окна подключения удаленного доступа, что уже не есть правильно.
InternetGetConnectedState из WinInet наоборот - корректно определяет подключение, но только в первый раз. После отключения от Инета она так и остается в True (имеется в виду ситуация на том конкретном компе) Есть ли возможность программно заставить ее обновиться или принудительно перевести в False?
Вопрос наверняка глупый, но у меня на это ума пока не хватает smile
PM MAIL WWW   Вверх
RA
Дата 24.7.2005, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Я вобще пользуюсь такой простой функцией smile
Правда если соединение у клиента поддерживается только через прокси то такая функция отпадает, а кроме таких случаев 100% надёжная.

Код

uses WinInet

function IsConnection(URL:string):boolean;
var
  hSession,hfile: hInternet;
  dwindex,dwcodelen: dword;
  dwcode: array[1..20] of char;
  res: pchar;
begin
Result:= false;
if URL = '' then exit;
hSession:= InternetOpen('InetURL:/1.0',INTERNET_OPEN_TYPE_PRECONFIG,nil,
nil, 0);
if assigned(hsession) then
begin
  hfile:= InternetOpenUrl(hsession,pchar(URL),nil,0,INTERNET_FLAG_RELOAD,0);
  dwIndex:= 0;
  dwCodeLen:= 10;
  HttpQueryInfo(hfile,HTTP_QUERY_STATUS_CODE,@dwcode,dwcodeLen,dwIndex);
  res:= pchar(@dwcode);
  result:= (res ='200') or (res ='302');
  if assigned(hfile) then InternetCloseHandle(hfile);
  InternetCloseHandle(hsession);
end;
end;

IsConnection(www.microsoft.com') ...



PM   Вверх
v258
Дата 24.7.2005, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: нет
Всего: 2



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

procedure TForm1.Timer1Timer(Sender: TObject);
var url:string;
begin
    url:='http://www.yandex.ru';
    if IsConnection(url) then
    Label1.Caption:='Есть' else
    Label1.Caption:='Нет';
end;

После отключения от Инета картина полностью повторяется.
Если же задаю URL без преффикса http:// , то функция постоянно возвращает False
PM MAIL WWW   Вверх
Girder
Дата 24.7.2005, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 4
Всего: 155



Цитата(Poseidon @ 23.7.2005, 12:53)
Проверил у себя на выделенке. Все работает.
RasConnectionCount вернула 1(что меня удивило)
Не всегда енто будет работать smile

PS: Да и вообще... может пользователь соединяется не с интернет(провайдером) через модем! smile

Это сообщение отредактировал(а) Girder - 24.7.2005, 17:26


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
RA
Дата 24.7.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Цитата(v258 @ 24.7.2005, 09:00)
тут же начинают выскакивать окна подключения удаленного доступа, при чем, по одному на каждое срабатывание таймера.

Это где-то в настройках виндовс отключается.
PM   Вверх
v258
Дата 24.7.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: нет
Всего: 2



Цитата
Это где-то в настройках виндовс отключается

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

На модеме работает, а на выделенке - возвращает 1 уже при вызове окна соединения удаленного доступа (по-крайней мере на одном компе именно так и было) Короче, все эти функции работают более-менее корректно на диалапе, а вот на кабеле возможно все, что угодно smile
PM MAIL WWW   Вверх
RA
Дата 28.7.2005, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Тут один деятель накатал программу для проверки коннекта.

Требуются компоненты ICS.

Исходник:

Присоединённый файл ( Кол-во скачиваний: 19 )
Присоединённый файл  connectioncheck.zip 29,61 Kb
PM   Вверх
v258
Дата 28.7.2005, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: нет
Всего: 2



Цитата
Требуются компоненты ICS.

А где их можно взять?
PM MAIL WWW   Вверх
RA
Дата 29.7.2005, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



www.overbyte.be
PM   Вверх
v258
Дата 29.7.2005, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: нет
Всего: 2



ОК, спасибо smile
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.