确定客户端Internet连接(InternetGetConnectedState()所在)

时间:2009-06-14 20:08:01

标签: c++ windows winapi

似乎我不是唯一一个发现这个的人: http://forums.devx.com/showthread.php?t=72771

实际上两者都是:

的InternetGetConnectedState

InternetGetConnectedStateEx

未正确报告。 当我连接时,它返回0x12,当我没有连接时,它返回0x10 (0x10未定义) http://msdn.microsoft.com/en-us/library/aa384705(VS.85).aspx

有人想关注WinXP SP3中0x10的定义吗?

在这个论坛上阅读了一些关于测试互联网连接(C / C ++)存在的建议 How can I programmatically test an HTTP connection?

我会写一个WinHTTP函数来返回服务器主网页的标题,除了我要测试连接的服务器,只运行CGI应用程序。我宁愿不浪费宝贵的服务器内存和处理器资源来确认成千上万的客户端连接。

还有其他建议吗?

2 个答案:

答案 0 :(得分:1)

InternetGetConnectedState / Ex()返回一个DWORD,它是多个值的位掩码。值0x12是INTERNET_CONNECTION_LAN(0x02)和INTERNET_CONNECTION_RAS_INSTALLED(0x10)的组合。因此,当您连接时,系统会报告INTERNET_CONNECTION_LAN,当您断开连接时,INTERNET_CONNECTION_LAN将被忽略。

答案 1 :(得分:0)

当然0x10不是可能的标志的组合吗?

e.g。在这里,我找到了WIN API Internet Get Connected State

INTERNET_CONNECTION_RAS_INSTALLED = 0x10
相关问题