当使用代理建立Internet连接的时候,设置的超时属性能够很好的起作用,但是如果不使用代理建立连接的话,设置的超时属性就不生效了。这是什么原因?HINTERNET hInet = InternetOpen("", INTERNET_OPEN_TYPE_PROXY, ......)
HINTERNET hHttp = InternetConnect(hInet...);
HINTERNET hRequest = HttpOpenRequest(hHttp, ...);
DWORD nTO = 1000;
InternetSetOption(hRequest, INTERNET_OPTION_RECEIVE_TIMEOUT , &nTO, sizeof(DWORD));
HttpSendRequest(hRequest, ......)此时,当HttpSendRequest在指定的时间(1秒)内还没完成的话(比如说连接一个不存在的主机),该函数就退出了,但是如果使用
HINTERNET hInet = InternetOpen("", INTERNET_OPEN_TYPE_DIRECT, ......)建立连接的话,如果指定的主机不存在的话,该函数要等20秒后才返回
请问这是什么原因?为什么我设置的超时属性在这种情况下不能准确生效呢?