![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
fuckerok |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 30.3.2004 Где: спб Репутация: нет Всего: нет |
Хочу написать программу примерно следушего типа.....
Если пользователь подключён к инету, то программа выполняет какю либо процедуру, если же юзер не подключён, то программа ожидает пока он не подключиться (допустим каждые пять мин опять проверяеть состояние конекта). Нашёл несколько способов в делфи ворд, но что-то не один из них не работает ![]() Конечно можно было сделать проверять ИП, если не 127.0.0.1, то значит юзер подключён, но тут возникает вопрос куда? мОжет локалка у него, а моя прога будет обращаться к серверу отправки почты майла.рю ![]() По этому прошу написать пример определения конекта именно к инету! ![]() --------------------
|
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
в АПИ есть
GetInetConnectionStatus или народный способ пингануть ченить или попытатся сделать gethostbyname -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 1 Всего: 112 |
Проверяй, есть ли соединение с каким-нибудь хостом...
В принципе, можно сделать просто перевод DNS-имени в IP-адрес какого-нибудь "microsoft.com" - этого думаю будет достаточно. Типа такого:
Добавлено @ 11:40 oleg1973 меня опередил ![]() -------------------- С уважением, г-н Посол. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 3 Всего: 74 |
if InternetGetConnectedState(nil,0) then //Если подключен, то...
begin ... end; -------------------- Всем добра ![]() |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
FAQ!
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
fuckerok |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 30.3.2004 Где: спб Репутация: нет Всего: нет |
Вот ещё в код забыли вы добавить
Без этого не работает, а не все про это помнят ![]() --------------------
|
|||
|
||||
AriX |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: нет Всего: 19 |
ИМХО самый верный способ проверки соединения с инетом - это запрос на какой-нибудь сайт, который 99,9% в сети (типа microsoft.com, hotmail.com, mail.ru итд).
Таким способом, можно проверять соединение и через проксик. Вот как это примерно делается:
У меня сделано примерно так. Можно конечно доработать, но принцип я думаю ясен ![]() p0s0l
Этот способ плох тем, что если человек сидит через проксю, то реально проверить если коннект не получится - до ДНС он может и дотянется, а дальше никуда не вылезет ![]() |
||||
|
|||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Со 100% гарантией задача неразрешима. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
AriX |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: нет Всего: 19 |
Vit
А выше написанный способ чем может быть плох - просто самому интересно ![]() |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Потому что может стоять например фильтрик который позволяет тебе в инете ходить только на Yahoo - ты по нему проверил инет - есть, а куды не ткнёшься - никуда пойти нельзя. Yahoo или MS или чего ещё может тоже иногда падать... Твой пример на самом деле один из наиболее хороших способов который даёт наиболее точную инфу о возможности выхода в инет, но тоже без 100% гарантии.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
AriX |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: нет Всего: 19 |
Vit
А ну если так ![]() Согласен, но это уж совсем маловероятно ;) |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
ну немнога не согласен
это InternetGetConnectedState окромя TRUE&FALSE еще кучку параметров возвращает таких как тип соеденения к примеру RAS PROXY e.t.c -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
пинги и геты - сакс, потому как могут спровоцировать нежелательные побочные эффекты (дозвон, к примеру).
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |