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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мониторинг подключения с инетом, через локалку 
:(
    Опции темы
Cashey
Дата 12.11.2003, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

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



Решил я написать прожку, что б она постоянно мониторила соединение с интернет. А то, соединяет Админ когда захочет, а я вхожу уже через локалку. Каждый раз браузер запускать для проверки как-то надоело, вот и хочу такую вещь сделать, что б спокойно в трее сидела и мигала когда появляется доступ в инет. Так вот, вопрос, через, что и как проверять соединение с интернетом через локальную сеть?
PS Miranda, например, если напрямую (дома я соединяюсь без локалки) четко отслеживает соединение, а вот через локалку не хочет (всегда онлайн).


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
stab
Дата 13.11.2003, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



вот пример из MSDN, есесно на C++:

Код

if (InternetGetConnectedState(...) == FALSE)
{
   // Don't attempt connection or it will bring up the dialog
   ...
}
else
{
   //Attempt connection
   if (InternetOpenURL(...) == NULL)
   {
       // Call failed
       err = GetLastError();
       if ((err == ERROR_INTERNET_NAME_NOT_RESOLVED) ||
           (err == ERROR_INTERNET_CANNOT_CONNECT) ||
           (err == ERROR_INTERNET_TIMEOUT))
       {
           // probably not connected...handle appropriately
           ...
       }
   }
   // We're connected!!!
   ....
}


можно просто через сокет пытаться законнектится, скажем, к mail.ru


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Cashey
Дата 14.11.2003, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

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



cully, thinks. Только теперь, может кто укажет мне аналоги приведенных сишных ф-ций на дельфях (ну, или, на худой кОнец, неполенится реализовать в виде ф-ции и скинуть в виде DLL)?


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
stab
Дата 14.11.2003, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Код

uses WinInet;

function CheckHTTPConnect(host: String): Boolean;
var
 hinet: Pointer;
 hhost: Pointer;
 hreq: Pointer;
begin
 Result := False;
 hinet := InternetOpen('connection checker', 0, nil, nil, 0);
 if hinet <> nil then begin
   hhost := InternetConnect(hinet, PChar(host), 80, nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
   if hhost <> nil then begin
     hreq := HttpOpenRequest(hhost, 'HEAD', nil, nil, nil, nil, INTERNET_FLAG_RELOAD or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_DONT_CACHE, 1);
     if hreq <> nil then begin
       Result := HttpSendRequest(hreq, nil, 0, nil, 0);
       InternetCloseHandle(hreq);
     end;
     InternetCloseHandle(hhost);
   end;
   InternetCloseHandle(hinet);
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if CheckHTTPConnect('mail.ru') then
   ShowMessage('Yeahh!');
end;


это скорее проверка работоспособности HTTP протокола, чем просто наличия интернета


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Cashey
Дата 17.11.2003, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

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



Класс, работает, только тормознуто. Так то же сойдет, но просто хотелось бы узнать, а можно отловить собственно событие коннекта с провайдером на другом компьютере локальной сети (там XP стоит)?


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
stab
Дата 18.11.2003, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



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


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Cashey
Дата 19.11.2003, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

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



Хе-хе, щас, даст мне админ на свой компьютер резидента поставить, который будет у него инфу собирать и мне отсылать. В том-то и фишка, что это надо делать тихо и незаметно (а то и по шеям получить можно smile.gif )


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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