Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Как оследить обрыв сети?   Найти похожие ветки 

 
WondeRu ©   (2004-09-07 09:47) [0]

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


 
Digitman ©   (2004-09-07 10:27) [1]

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


 
Verg ©   (2004-09-07 10:50) [2]

Если говорить о сети 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)

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


 
WondeRu ©   (2004-09-07 11:28) [3]

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

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

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

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

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


 
Digitman ©   (2004-09-07 11:38) [4]


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


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


 
Reindeer Moss Eater ©   (2004-09-07 11:59) [5]

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

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


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

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


 
WondeRu ©   (2004-09-08 11:25) [7]

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

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

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

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


 
Digitman ©   (2004-09-08 11:38) [8]


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


это как ?



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.061 c
1-1098871447
Alexious
2004-10-27 14:04
2004.11.14
Chart


1-1098881849
AndrewK
2004-10-27 16:57
2004.11.14
Передача Variant из DLL


1-1099075284
BlackLord2003
2004-10-29 22:41
2004.11.14
TBX


1-1099167997
ser_ega
2004-10-31 00:26
2004.11.14
Form


1-1098961605
Chlavik
2004-10-28 15:06
2004.11.14
Pointer -> _ContactItem и наоборот