Вниз
Скачать: 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.022 c
1-1098907717
Jolik
2004-10-28 00:08
2004.11.14
Как сделать в TListView...


3-1097347134
kirilllius
2004-10-09 22:38
2004.11.14
SQL и Requery


1-1098981275
Misterio
2004-10-28 20:34
2004.11.14
Передвинуть кнопку


6-1094485928
Gera
2004-09-06 19:52
2004.11.14
Indy tcpClient и tcpServer


1-1099176911
Кто---то
2004-10-31 02:55
2004.11.14
Как в программе хранятся record ? В виде смещений, или чего то




   Наверх