Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
14-1098958755
Digitman
2004-10-28 14:19
2004.11.14
WinEtka как OLE-сервер автоматизации


6-1091443966
Serguar
2004-08-02 14:52
2004.11.14
TIdTCPServer &amp; TIdTCPClient не могу поймать отсоединение клиента


1-1098453965
kalishenko
2004-10-22 18:06
2004.11.14
QReport


4-1097141154
lightix
2004-10-07 13:25
2004.11.14
Узнать ID активного приложения


1-1099084127
Ded Moroz
2004-10-30 01:08
2004.11.14
Plugins




   Наверх