Текущий архив: 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.46 MB
Время: 0.036 c