Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как оследить обрыв сети?


WondeRu ©   (2004-09-07 09:47:00) 

Здравствуйте!
Винда отлавливает обрыв локальной сети мгновенно (показывает balloon message)!
Мое приложение работает с удаленной БД.
Как в своем приложении поставить хук на обрыв сети?
Спасибо!


Digitman   (2004-09-08 11:38:00) [1]


> они могут уйти в локальный файл


это как ?


WondeRu   (2004-09-08 11:25:00) [2]

Reindeer Moss Eater ©   (07.09.04 11:59) [5]
А без твоего строгого запрета они могут уйти на сервер?

)))
они могут уйти в локальный файл!

Карелин Артем ©   (07.09.04 15:42) [6]
А если сеть есть, а вот сервер БД отвалился? Или маршрутизатор не пущает до сервера пакеты?

всяко бывает)


Карелин Артем   (2004-09-07 15:42:00) [3]

WondeRu ©   (07.09.04 11:28) [3]
А если сеть есть, а вот сервер БД отвалился? Или маршрутизатор не пущает до сервера пакеты?


Reindeer Moss Eater   (2004-09-07 11:59:00) [4]

запрет на SQL запросы!

А без твоего строгого запрета они могут уйти на сервер?
При обрыве сети.


Digitman   (2004-09-07 11:38:00) [5]


> WondeRu ©   (07.09.04 11:28) [3]
> запрет на SQL запросы!


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


WondeRu   (2004-09-07 11:28:00) [6]

Digitman ©   (07.09.04 10:27) [1]
и что ты будешь делать в теле этого хука ?

запрет на SQL запросы!

Verg ©   (07.09.04 10:50) [2]
связь с сервером БД так же может оборваться из-за множества других причин

знаю, но это (обрыв сети) у нас основная причина всех бед

Всем спасибо!


Verg   (2004-09-07 10:50:00) [7]

Если говорить о сети TCP/IP, то отключение сетевого адаптера немедленно приводит к изменению в маршрутной таблице, разрыву всех установленных через этот интерфейс TCP соединений.
Изменение в маршрутной таблице можно отслеживать ф-цией
function NotifyRouteChange( Handle : PHandle; Overlapped : POverlapped):DWORD; stdcall; external 'IPHLPAPI.DLL';
После наступления изменения просмотреть все адаптеры ф-цией
function   GetIfTable(pIfTable : PMIB_IFTABLE; var pdwSize : ULONG; bOrder : BOOL): DWORD; stdcall;external 'IPHLPAPI.DLL';
Отключенный адаптер будет иметь состояние
dwOperStatus <> MIB_IF_OPER_STATUS_OPERATIONAL (5)
или
dwAdminStatus <> MIB_IF_ADMIN_STATUS_UP (1)

Только это все полумеры, т.к. связь с сервером БД так же может оборваться из-за множества других причин, а результат один - СУБД не работает.


Digitman   (2004-09-07 10:27:00) [8]

и что ты будешь делать в теле этого хука ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо