![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
как отследить событие пропадание/появление сети? т.е. не проверить, а есть ли сеть в текущий момент, а именно отследить момент отсоединения и присоединения это когда значек в трее с двумя компами перечеркивается крестиком.
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
||||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Snowy, ну это понятно, но представь себе, несколько сотен (примерно полторы-две) будут каждую секунду пинговать сеть. ибо отследить нужно любое (а главное секундное) пропадание сети, что бы было видно у кого мерцает
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
А не надо пинговать.
Пинговать надо в случае ошибки подключения. Точнее начинать пытаться. А пока всё работает, не надо тестить сеть. Тестить надо, пока она не появится. Хотя две-три сотни пингов в секунду - это мелочи. Как вариант- сервер может броадкастом периодически слать сообщение, что он жив. Или открыть порт, на который будут вешаться клиенты - есть коннект - жив. |
|||
|
||||
| Delvish |
|
|||
![]() oO ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 13.12.2006 Репутация: нет Всего: 4 |
А компонент IdIPWatch применять пробовал? Там есть событие на изменение состояния
|
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: нет Всего: 8 |
Может я не так понял смысл под словом "сеть", но все же, перед работой на клиентском приложении можно проверить есть ли у него сеть?
Если нет, то висеть или же выполнять работу. для этого понадобиться функция. ее описание
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
продолжаем разговор
сделал таким макаром:
в потоке, в цикле, постоянно проверяется InternetGetConnectedState, как и советует morpheyushka, и не смотря на то, что мне надо отследить не состояние интернета,а именно локальной сети, в целом код работает и дает, в общем случае, необходимый результат. Но как оказалось при этом загружает процессор на 100%. особенно сказывается при работе с "замапинными" дисками. т.е. вариант не подходит..... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Вставь в цикл Sleep(32) и как рукой снимет...
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
тогда я "прозеваю" краткосрочное проподание сети "мерцание", а именно ее в первую очередь надо отследить Добавлено через 3 минуты и 9 секунд кстати, поставил слип и 32, и даже 300. особо не повлияло -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
мож я что не понимаю, но мне тут видится неициализированная локальная переменная lCheck... -------------------- There are always someone smarter than you... |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
не правильно видится. переменная lCheck позволяет отследить изменение статуса, что бы не генерить одно и тоже событие на каждом шаге цикла, а только при изменение состояния сети. -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 5 Всего: 158 |
врядли.
речь идет не о целесообразности применения переменной, а о том, что ты, не задав ей начального значения, делаешь проверку этой переменной. набросал сэмпл:
Это сообщение отредактировал(а) dumb - 22.8.2008, 03:40 |
||||
|
|||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
переменная объявленна как Boolean. что подразумевает ее значение по умолчание как false. так что здесь все корректно. а вот за подсказку о GetIfEntry и GetIfTable спасибо. сейчас покопаю в эту сторону. По идеи, при отключенном NetBios это работать не будет.... проверю -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |