我正在测试winHTTP out,并且我已经注意到,不管通过WinHttpSetTimeouts设置的超时值如何,如果将IP地址与WinHttpConnect一起使用,并且IP地址不可达(即,ping返回"Destination Host Unreacheable"),则连接的超时始终是21秒,即使我将超时值设置得更高。
正在考虑的值似乎与dwConnectTimeout值(传递给WinHttpSetTimeouts的第三个值)相对应,因为当减小该值时,超时发生得更快,但有21秒的上限。
以前有没有人经历过这种情况?有谁知道为什么会发生这种情况,以及我是如何防止这种情况发生的?
发布于 2016-05-11 06:21:06
经过研究,似乎存在一个无法由WinhttpSetTimeOuts函数控制的底层TCP连接超时。建议的解决方案是从所需的超时值中减去经过的时间,如果还有时间,则重试该请求。
当然,如果你在那之后找到了更好的解决方案,我将很高兴听到。
https://stackoverflow.com/questions/30332294
复制相似问题