Определение клиентского интернет-соединения (InternetGetConnectedState () лежит) - PullRequest
0 голосов
/ 15 июня 2009

Кажется, я не единственный, кто открыл это: http://forums.devx.com/showthread.php?t=72771

На самом деле оба:

InternetGetConnectedState

InternetGetConnectedStateEx

не сообщают правильно. Когда я подключен, он возвращает 0x12, а когда я не подключен, он возвращает 0x10 (0x10 не определено) http://msdn.microsoft.com/en-us/library/aa384705(VS.85).aspx

Кто-нибудь захочет угадать определение 0x10 в WinXP SP3?

Прочитав на этом форуме несколько предложений по тестированию на наличие интернет-соединения (C / C ++), вроде Как программно проверить HTTP-соединение?

Я бы написал функцию WinHTTP, которая бы возвращала заголовки главной веб-страницы серверов, кроме сервера, к которому я хочу протестировать соединение, только запускаются приложения CGI. Я бы предпочел не тратить драгоценную память сервера и ресурсы процессора на подтверждение тысяч соединений клиентов.

есть еще предложения?

Ответы [ 2 ]

1 голос
/ 22 июля 2009

InternetGetConnectedState / Ex () возвращает DWORD, который является битовой маской из нескольких значений. Значение 0x12 является комбинацией INTERNET_CONNECTION_LAN (0x02) и INTERNET_CONNECTION_RAS_INSTALLED (0x10). Итак, когда вы подключены, сообщается INTERNET_CONNECTION_LAN, а когда вы отключаетесь, INTERNET_CONNECTION_LAN опускается.

0 голосов
/ 15 июня 2009

Конечно, 0x10 - это не комбинация возможных флагов?

например. здесь я нашел WIN API Internet Get Connected State

INTERNET_CONNECTION_RAS_INSTALLED = 0x10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...